ভবিষ্যদ্বাণী ত্রুটি পরীক্ষা করতে GAM ক্রস-বৈধতা


10

আমার প্রশ্নগুলি জিজিএসের সাথে এমজিসিভি আর প্যাকেজটিতে ডিল করে । একটি ছোট নমুনা আকারের কারণে আমি ছুটি-ওয়ান-আউট ক্রস-বৈধতা ব্যবহার করে পূর্বাভাস ত্রুটিটি নির্ধারণ করতে চাই। এটা কি যুক্তিসঙ্গত? আমি কীভাবে এটি করতে পারি এমন কোনও প্যাকেজ বা কোড রয়েছে? errorest()ফাংশন ipred প্যাকেজ কাজ করে না। একটি সাধারণ পরীক্ষার ডেটাসেট হ'ল:

library(mgcv)
set.seed(0)
dat <- gamSim(1,n=400,dist="normal",scale=2)
b<-gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat)
summary(b)
pred <- predict(b, type="response")

আপনার সাহায্যের হাতের জন্য আপনাকে অনেক ধন্যবাদ!


আপনি সিভিগ্যাম ফাংশনটি ভিতরে দেখতে পারেন
আর্জি

উত্তর:


3

আমি সত্যিই প্যাকেজ মত caretভালো জিনিসের জন্য কিন্তু দুর্ভাগ্যবশত আমি শুধু যে আপনার নির্দিষ্ট করতে পারেন না পড়া formulaমধ্যে gamএটি জন্য ঠিক।

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

উত্স: https://stackoverflow.com

তবে আপনি যদি trainমসৃণ পদগুলি নির্বাচন করতে দেন তবে এই ক্ষেত্রে এটি আপনার মডেলটিকে ঠিক তেমনই তৈরি করে। এই ক্ষেত্রে ডিফল্ট পারফরম্যান্স মেট্রিকটি আরএমএসই, তবে আপনি ফাংশনের summaryFunctionযুক্তি ব্যবহার করে এটি পরিবর্তন করতে পারেন trainControl

আমি মনে করি LOOCV এর অন্যতম প্রধান ত্রুটি এটি হ'ল যখন ডেটাসেটটি বড় হয়, এটি চিরকালের জন্য নেয়। যেহেতু আপনার ডেটাসেটটি ছোট এবং এটি বেশ দ্রুত কাজ করে, আমি মনে করি এটি একটি বোধগম্য বিকল্প।

আশাকরি এটা সাহায্য করবে.

library(mgcv)
library(caret)

set.seed(0)

dat <- gamSim(1, n = 400, dist = "normal", scale = 2)

b <- train(y ~ x0 + x1 + x2 + x3, 
        data = dat,
        method = "gam",
        trControl = trainControl(method = "LOOCV", number = 1, repeats = 1),
        tuneGrid = data.frame(method = "GCV.Cp", select = FALSE)
)

print(b)
summary(b$finalModel)

আউটপুট:

> print(b)
Generalized Additive Model using Splines 

400 samples
  9 predictors

No pre-processing
Resampling: 

Summary of sample sizes: 399, 399, 399, 399, 399, 399, ... 

Resampling results

  RMSE      Rsquared 
  2.157964  0.7091647

Tuning parameter 'select' was held constant at a value of FALSE

Tuning parameter 'method' was held constant at a value of GCV.Cp

> summary(b$finalModel)

Family: gaussian 
Link function: identity 

Formula:
.outcome ~ s(x0) + s(x1) + s(x2) + s(x3)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   7.9150     0.1049   75.44   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Approximate significance of smooth terms:
        edf Ref.df       F  p-value    
s(x0) 5.173  6.287   4.564 0.000139 ***
s(x1) 2.357  2.927 103.089  < 2e-16 ***
s(x2) 8.517  8.931  84.308  < 2e-16 ***
s(x3) 1.000  1.000   0.441 0.506929    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

R-sq.(adj) =  0.726   Deviance explained = 73.7%
GCV =  4.611  Scale est. = 4.4029    n = 400

1

এমজিসিভি লাইব্রেরিতে পিডিএফ এ বলে;

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

"এমজিসিভিতে গ্যাম জেনারালাইজড ক্রস ভ্যালিডেশন (জিসিভি) মাপদণ্ড ব্যবহার করে স্মুথিং পরামিতি অনুমানের সমস্যা সমাধান করে: এনডি / (এন - ডুএফ) 2

অথবা

একটি আন-বায়সড রিস্ক এস্টিমেটার (ইউবিআরই) মাপদণ্ড: D / n + 2sDoF / n - s "

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