আর-তে, "গ্ল্যামনেট" কোনও ইন্টারসেপ্ট ফিট করে?


10

আমি আর ব্যবহার করে একটি রৈখিক মডেল ফিট করছি glmnet। আসল (নিয়মিত নয়) মডেলটি ব্যবহার করে লাগানো হয়েছিল lmএবং ধ্রুবক শব্দটি ছিল না (অর্থাত্ এটি ফর্মটিতে ছিল lm(y~0+x1+x2,data))।

glmnetভবিষ্যদ্বাণীকারীদের একটি ম্যাট্রিক্স এবং প্রতিক্রিয়াগুলির একটি ভেক্টর গ্রহণ করে। আমি glmnetডকুমেন্টেশন পড়ছি , এবং ধ্রুবক শব্দটির কোনও উল্লেখ পাই না।

সুতরাং, glmnetউত্সের মধ্য দিয়ে রৈখিক ফিট করার জন্য কি কোনও উপায় আছে ?

উত্তর:


12

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

আপনি চেষ্টা করে দেখতে পারেন শাস্তি প্যাকেজ, যা ক্ষণস্থায়ী দ্বারা পথিমধ্যে অপসারণ করতে পারবেন unpenalized = ~0করার penalized()

> x <- matrix(rnorm(100*20),100,20)
> y <- rnorm(100)
> fit1 <- penalized(y, penalized=x, unpenalized=~0, 
                    standardize=TRUE) 
> fit2 <- lm(y ~ 0+x)
> plot((coef(fit1) + coef(fit2))/2, coef(fit2)-coef(fit1))

লাসো নিয়মিতকরণ পেতে আপনি এর মতো কিছু চেষ্টা করতে পারেন

> fit1b <- penalized(y, penalized=x, unpenalized=~0, 
                     standardize=TRUE, lambda1=1, steps=20)
> show(fit1b)
> plotpath(fit1b)

পরবর্তী চিত্রে দেখা যাবে, উভয় পদ্ধতি (বাম) দিয়ে গণনা করা রিগ্রেশন প্যারামিটারগুলির মধ্যে সামান্য পার্থক্য রয়েছে এবং আপনি খুব সহজেই (ডানদিকে) লাসো পাথ সমাধানটি প্লট করতে পারেন।

বিকল্প পাঠ

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