আমি প্রায় 60 পূর্বাভাসকারী ভেরিয়েবল এবং 30 টি পর্যবেক্ষণের সাথে মাল্টিভারিয়েট লিনিয়ার রিগ্রেশন মডেলটি ফিট করার চেষ্টা করছি, তাই নিয়মিত রেজিস্ট্রেশনের জন্য আমি গ্ল্যামনেট প্যাকেজটি ব্যবহার করছি কারণ পি> এন।
আমি ডকুমেন্টেশন এবং অন্যান্য প্রশ্নের মধ্য দিয়ে যাচ্ছি তবে আমি এখনও ফলাফলগুলি ব্যাখ্যা করতে পারি না, এখানে একটি নমুনা কোড রয়েছে (20 ভবিষ্যদ্বাণীকারী এবং 10 টি পর্যবেক্ষণকে সহজ করার জন্য):
আমি একটি নাম্বার সারি = সংখ্যা পর্যবেক্ষণ এবং সংখ্যা কলস = সংখ্যা পূর্বাভাসকারী এবং একটি ভেক্টর y সহ একটি ম্যাট্রিক্স এক্স তৈরি করেছি যা প্রতিক্রিয়া ভেরিয়েবলের প্রতিনিধিত্ব করে
> x=matrix(rnorm(10*20),10,20)
> y=rnorm(10)
আমি আলফাকে ডিফল্ট হিসাবে রেখে একটি গ্ল্যামনেট মডেল ফিট করি (লাসো পেনাল্টির জন্য = 1)
> fit1=glmnet(x,y)
> print(fit1)
আমি বুঝতে পারছি ল্যাম্বদা (অর্থাত্ পেনাল্টি) এর হ্রাসমান মানগুলির সাথে আমি বিভিন্ন পূর্বাভাস পাই
Call: glmnet(x = x, y = y)
Df %Dev Lambda
[1,] 0 0.00000 0.890700
[2,] 1 0.06159 0.850200
[3,] 1 0.11770 0.811500
[4,] 1 0.16880 0.774600
.
.
.
[96,] 10 0.99740 0.010730
[97,] 10 0.99760 0.010240
[98,] 10 0.99780 0.009775
[99,] 10 0.99800 0.009331
[100,] 10 0.99820 0.008907
এখন আমি আমার বিটা মানগুলি বেছে নেওয়ার পূর্বাভাস দিচ্ছি, উদাহরণস্বরূপ, সবচেয়ে ছোট লাম্বদা মানটি দেওয়া glmnet
> predict(fit1,type="coef", s = 0.008907)
21 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) -0.08872364
V1 0.23734885
V2 -0.35472137
V3 -0.08088463
V4 .
V5 .
V6 .
V7 0.31127123
V8 .
V9 .
V10 .
V11 0.10636867
V12 .
V13 -0.20328200
V14 -0.77717745
V15 .
V16 -0.25924281
V17 .
V18 .
V19 -0.57989929
V20 -0.22522859
পরিবর্তে আমি সঙ্গে lambda নির্বাচন করুন
cv <- cv.glmnet(x,y)
model=glmnet(x,y,lambda=cv$lambda.min)
সমস্ত ভেরিয়েবল (।) হবে।
সন্দেহ এবং প্রশ্ন:
- আমি কীভাবে ল্যাম্বদা চয়ন করব তা সম্পর্কে নিশ্চিত নই।
- আমি অন্য মডেল ফিট করার জন্য নন (।) ভেরিয়েবল ব্যবহার করা উচিত? আমার ক্ষেত্রে আমি যতটা সম্ভব ভেরিয়েবল রাখতে চাই।
- আমি কীভাবে পি-মান জানি, অর্থাৎ কোন পরিবর্তনশীল উল্লেখযোগ্যভাবে প্রতিক্রিয়ার পূর্বাভাস দেয়?
আমি আমার দরিদ্র পরিসংখ্যান জ্ঞানের জন্য ক্ষমা চাই! এবং কোন সাহায্যের জন্য আপনাকে ধন্যবাদ।