রিজ সারি বৃদ্ধি ব্যবহার করে জিএলএমগুলিকে দণ্ডিত করেছে?


12

আমি পড়েছি যে মূল ডাটা ম্যাট্রিক্সে কেবল সারি সারি ডেটা যুক্ত করে রিজ রিগ্রেশন অর্জন করা যেতে পারে, যেখানে প্রতিটি সারি 0 নির্ভরশীল ভেরিয়েবলের জন্য 0 ব্যবহার করে এবং স্বাধীন ভেরিয়েবলের জন্য বা শূন্যের বর্গমূল ব্যবহার করে নির্মিত হয়। তারপরে প্রতিটি স্বতন্ত্র ভেরিয়েবলের জন্য একটি অতিরিক্ত সারি যুক্ত করা হয়।k

আমি ভাবছিলাম যে লজিস্টিক রিগ্রেশন বা অন্যান্য জিএলএম সহ সমস্ত ক্ষেত্রে প্রমাণ পাওয়া সম্ভব কিনা।



1
সেখানে আপনার মন্তব্য মুছে ফেলার জন্য দুঃখিত। আমি সিদ্ধান্ত নিয়েছি যে আমি আপনার উত্তরটি দেখার আগে এবং ভুল করে ফেলেছি it
গ্লেন_বি -রিনস্টেট মনিকা

2
এই সমস্যার একটি সামান্য সাধারণীকরণ জিজ্ঞাসা করা হয় এবং stats.stackexchange.com/questions/15991 এ উত্তর দেওয়া হয় । কারণ এটি এই প্রশ্নের লজিস্টিক রিগ্রেশন অংশটিকে সম্বোধন করে না, তাই আমি দুটি থ্রেড একীভূত করতে ভোট দিচ্ছি না।
হোয়বার

জিএলএমগুলি পুনরুত্থিত সর্বনিম্ন স্কোয়ারগুলি ব্যবহার করে ফিট করা যায়, যেমন বেলভিস . github.io/GLM , এবং তাই প্রতিটি পুনরাবৃত্তির মধ্যেই একটি নিয়মিত ওজনযুক্ত ন্যূনতম বর্গক্ষেত্রের ধাপটি একটি রিজকে দন্ডিত ওজনযুক্ত ন্যূনতম বর্গক্ষেত্র পদক্ষেপের সাহায্যে গ্রহণ করতে পারে। প্রকৃতপক্ষে, অভিযোজিত রিজ পেনাল্টির সাথে একত্রে এটি L0 দণ্ডিত জিএলএম ফিট করতে ব্যবহৃত হয়, যেমন l0ara প্যাকেজ হিসাবে, বায়োডাটিমিনিং.বায়োমেডেন্ট্রাল / পার্টিকেল 10.1.1186/… এবং জার্নালস.প্লোস.অর্গ /
টম ওয়েনসিলার্স

উত্তর:


13

রিজ রিগ্রেশন হ্রাস করে ।i=1n(yixiTβ)2+λj=1pβj2

(প্রায়শই একটি ধ্রুবক প্রয়োজন হয়, তবে সঙ্কুচিত হয় না that সেক্ষেত্রে এটি এবং ভবিষ্যদ্বাণীকারীদের অন্তর্ভুক্ত রয়েছে - তবে আপনি যদি এটি সঙ্কুচিত করতে না চান তবে ছদ্ম পর্যবেক্ষণের জন্য আপনার কাছে কোনও সারি নেই Or বা যদি আপনি এটি সঙ্কুচিত করতে চান না, আপনি না এটির জন্য একটি সারি আছে। আমি তা লিখে দেব যেমন যদি এটা গণনা না , যেমন এটি আরো জটিল ক্ষেত্রে, এবং কাঁচুমাচু। অন্য ক্ষেত্রে এই থেকে একটি তুচ্ছ পরিবর্তন ।)βp

আমরা সিউডো-পর্যবেক্ষণ হিসাবে দ্বিতীয় শব্দটি লিখতে পারি যদি আমরা প্রতিটি "y" এবং সংশ্লিষ্ট প্রতিটি -ভেক্টর "এক্স" লিখতে পারি যেp(p+1)

(yn+jxn+jTβ)2=λβj2,j=1,,p

তবে পরিদর্শন দ্বারা, কেবল , যাক এবং অন্যান্য সমস্ত ( including সহ সাধারণত)।yn+j=0xn+j,j=λxn+j,k=0xn+j,0=0

তারপর

(yn+j[xn+j,0β0+xn+j,1β1+xn+j,2β2+...+xn+j,pβp])2=λβj2

এটি লিনিয়ার রিগ্রেশন জন্য কাজ করে। এটি লজিস্টিক রিগ্রেশনের পক্ষে কাজ করে না, কারণ সাধারণ লজিস্টিক রিগ্রেশনটি স্কোয়ারের অবশিষ্টাংশের যোগফলকে হ্রাস করে না।

[এই জাতীয় ছদ্ম-পর্যবেক্ষণ কৌশলগুলির মাধ্যমে কেবলমাত্র রিজ রিগ্রেশনই করা সম্ভব নয় - এগুলি অন্যান্য সংখ্যার প্রসঙ্গে আসে]


ধন্যবাদ, আমি ইতিমধ্যে লজিস্টিক রিগ্রেশন থেকে সমস্ত কিছু পুনর্লিখনের সাথে লড়াই করে যাচ্ছিলাম, তবে আমি কেবল ফোনি ডেটা পদ্ধতিটি প্রয়োগ করতে পারি নি। এবং আমি আমার নিজের ক্ষমতার পক্ষে যথেষ্ট বলতে পারি না যে এটি বলা অসম্ভব able
স্নোফ্লেক

কমপক্ষে আমি এটি মনে করি না। আমি সম্ভাবনা ফাংশন অন্য চেহারা নেব।
গ্লেন_বি -রিনস্টেট মনিকা

3
+1 অতিরিক্ত সম্পর্কিত রিগ্রেশন ট্রিকস স্ট্যাটাস.স্ট্যাকেক্সচেঞ্জ / এ / 32753 এবং স্ট্যাটস.স্ট্যাকেক্সচেঞ্জ // 26187 , অন্যান্য সময়ে উত্তরগুলিতে প্রবর্তিত হয়েছে ।
হোবার

জিএলএমগুলি পুনরাবৃত্তভাবে কমপক্ষে স্কোয়ারগুলি ব্যবহার করে ফিট করা যায়, যেমন বিউলিউইভিস . github.io/GLM , এবং তাই প্রতিটি পুনরাবৃত্তির মধ্যেই একটি নিয়মিত ওজনযুক্ত ন্যূনতম বর্গক্ষেত্রের ধাপটি একটি রিজকে দন্ডিত ওজনযুক্ত ন্যূনতম স্কোয়ার পদক্ষেপের পরিবর্তে একটি রিজকে শাস্তিযুক্ত জিএলএম পেতে পারেন। প্রকৃতপক্ষে, অভিযোজিত রিজ পেনাল্টির সাথে একত্রে এটি L0 দণ্ডিত জিএলএম ফিট করতে ব্যবহৃত হয়, যেমন l0ara প্যাকেজ হিসাবে, বায়োডাটিমিনিং.বায়োমেডেন্ট্রাল / পার্টিকেল 10.1.1186/… এবং জার্নালগুলি দেখুন। /…
টম ভেনসিলিয়ার্স

@ টমউইনসিলার্সকে ধন্যবাদ, হ্যাঁ, এটি পুরোপুরি উপলব্ধি করে
Glen_b -Rininstate Monica

0

জিএলএমগুলিতে এই রেসিপিটি সাধারণকরণ করা সত্যিই কঠিন নয় কারণ সাধারণত জিএলএমগুলি পুনরাবৃত্তভাবে স্বল্পতম স্কোয়ারগুলি ব্যবহার করে ফিট হয় । সুতরাং, প্রতিটি পুনরাবৃত্তির মধ্যেই একটি নিয়মিত ওজনযুক্ত ন্যূনতম বর্গক্ষেত্রের ধাপটি একটি রিজকে দন্ডিত ওজনযুক্ত ন্যূনতম বর্গক্ষেত্র পদক্ষেপের সাহায্যে একটি রিজকে শাস্তিযুক্ত জিএলএম পেতে পারেন। প্রকৃতপক্ষে, অভিযোজিত রিজ জরিমানার সংমিশ্রণে এই রেসিপিটি L0 দণ্ডিত জিএলএম ফিট করতে ব্যবহৃত হয় (ওরফে সেরা উপসেট, অর্থাত্ জিএলএম যেখানে মোট ননজারো সহগের দণ্ডিত হয়)। এই উদাহরণস্বরূপ বাস্তবায়িত হয়েছে l0ara প্যাকেজ দেখতে এই কাগজ এবং এই এক বিস্তারিত জানার জন্য।

এটিও লক্ষণীয় যে নিয়মিত রিজ রিগ্রেশন সমাধানের দ্রুততম ক্লোড-ফর্মটি ব্যবহার করা হচ্ছে

lmridge_solve = function (X, y, lambda, intercept = TRUE) {
  if (intercept) {
    lambdas = c(0, rep(lambda, ncol(X)))
    X = cbind(1, X)
  } else { lambdas = rep(lambda, ncol(X)) }
  solve(crossprod(X) + diag(lambdas), crossprod(X, y))[, 1]
}

ক্ষেত্রে যেখানে n>=pবা ব্যবহার করে

lmridge_solve_largep = function (X, Y, lambda) (t(X) %*% solve(tcrossprod(X)+lambda*diag(nrow(X)), Y))[,1]

কখন p>nএবং কোন বাধা ছাড়াই একটি মডেল জন্য।

এটি সারি বৃদ্ধির রেসিপি ব্যবহার করার চেয়ে দ্রুত , অর্থাত্ করণ

lmridge_rbind = function (X, y, lambda, intercept = TRUE) {
  if (intercept) {
    lambdas = c(0, rep(lambda, ncol(X)))
    X = cbind(1, X)
  } else { lambdas = rep(lambda, ncol(X)) }
  qr.solve(rbind(X, diag(sqrt(lambdas))), c(y, rep(0, ncol(X))))
}

আপনার যদি লাগানো সহগগুলির ক্ষেত্রে যদি আপনার লিখিতভাবে বাধা প্রয়োজন হয় তবে আপনি কেবল এটি করতে পারেন

library(nnls)

nnlmridge_solve = function (X, y, lambda, intercept = TRUE) {
  if (intercept) {
    lambdas = c(0, rep(lambda, ncol(X)))
    X = cbind(1, X)
  } else { lambdas = rep(lambda, ncol(X)) }
  nnls(A=crossprod(X)+diag(lambdas), b=crossprod(X,Y))$x
}

যা তারপরে বিটিডব্লিউর চেয়ে কিছুটা আরও সঠিক ফলাফল দেয়

nnlmridge_rbind = function (X, y, lambda, intercept = TRUE) {
  if (intercept) {
    lambdas = c(0, rep(lambda, ncol(X)))
    X = cbind(1, X)
  } else { lambdas = rep(lambda, ncol(X)) }
  nnls(A=rbind(X,diag(sqrt(lambdas))), b=c(Y,rep(0,ncol(X))))$x 
}

(এবং কঠোরভাবে কেবল সমাধানের কথা বলতে গেলে nnls(A=crossprod(X)+diag(lambdas), b=crossprod(X,Y))$x সঠিক সমাধান হয়)।

আমি এখনও বুঝতে পারি নি যে ননএইটিভিটি বাধাগ্রস্ত মামলার ক্ষেত্রে আরও অনুকূলিতকরণ কীভাবে করা যায় p > n- কেউ কীভাবে এটি করতে হয় তা যদি ঘটে তবে আমাকে জানাবেন ... [ lmridge_nnls_largep = function (X, Y, lambda) t(X) %*% nnls(A=tcrossprod(X)+lambda*diag(nrow(X)), b=Y)$xকাজ করে না]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.