পলি (কাঁচা = টি) বনাম পলি () এর জন্য কেন আমি বন্যভাবে বিভিন্ন ফলাফল পাব?


10

আমি দুটি পৃথক পৃথক সময়ের ভেরিয়েবল মডেল করতে চাই, এর মধ্যে কয়েকটি আমার ডেটাতে (বয়স + কোহোর্ট = পিরিয়ড) ভারী কোলাইনারি। এটি করতে গিয়ে আমি lmerএবং এর সাথে মিথস্ক্রিয়া নিয়ে কিছুটা ঝামেলার মধ্যে পড়েছিলাম poly(), তবে এটি সম্ভবত সীমাবদ্ধ নয় lmer, nlmeআইআইআরসি-র সাথে আমিও একই ফলাফল পেয়েছি ।

স্পষ্টতই, পলি () ফাংশনটি কী করে তা সম্পর্কে আমার বোঝার অভাব রয়েছে। আমি বুঝতে পারি কী poly(x,d,raw=T)করে এবং আমি ভেবেছিলাম raw=Tঅরথোগোনাল বহুবর্ষ তৈরি করে না (আমি বলতে পারি না যে আমি এর অর্থ কী তা সত্যই বুঝতে পেরেছি), যা মানানসই সহজ করে তোলে, তবে আপনাকে সহগগুলি সরাসরি ব্যাখ্যা করতে দেয় না।
আমি এটি পড়েছি কারণ আমি পূর্বাভাস ফাংশনটি ব্যবহার করছি, ভবিষ্যদ্বাণীগুলি একই হওয়া উচিত।

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

এই প্লটগুলি আশা করি পার্থক্যের মাত্রাটি চিত্রিত করে। আমি পূর্বাভাস-ফাংশনটি ব্যবহার করেছি যা কেবলমাত্র দেব মধ্যে উপলব্ধ। lme4 এর সংস্করণ (এটি সম্পর্কে এখানে শুনেছি ), তবে নির্দিষ্ট প্রভাবগুলি CRAN সংস্করণে একই রকম হয় (এবং এগুলি নিজেরাই বন্ধ বলে মনে হয়, যেমন আমার ডিভি-এর 0-4 এর পরিসীমা থাকে তখন ইন্টারঅ্যাকশন করার জন্য ~ 5)।

লামার কল ছিল

cohort2_age =lmer(churchattendance ~ 
poly(cohort_c,2,raw=T) * age_c + 
ctd_c + dropoutalive + obs_c + (1+ age_c |PERSNR), data=long.kg)

ভবিষ্যদ্বাণীটি কেবলমাত্র জাল তথ্য (অন্যান্য সমস্ত ভবিষ্যদ্বানী = 0) এ স্থির প্রভাব ছিল যেখানে আমি মূল ডেটাতে উপস্থিত পরিসরটিকে এক্সট্রা পোলেশন = এফ হিসাবে চিহ্নিত করেছি।

predict(cohort2_age,REform=NA,newdata=cohort.moderates.age)

প্রয়োজনে আমি আরও প্রসঙ্গ সরবরাহ করতে পারি (আমি সহজেই পুনরুত্পাদনযোগ্য উদাহরণ উত্পাদন করতে পারি নি, তবে অবশ্যই আরও চেষ্টা করতে পারি), তবে আমি মনে করি এটি আরও একটি মৌলিক আর্জি: poly()আমাকে ফাংশনটি ব্যাখ্যা করুন , সুন্দর করুন।

কাঁচা বহুপদী

কাঁচা বহুপদী

লম্ব polynomials (ছাঁটা এ nonclipped Imgur )

অরথোগোনাল বহুবর্ষ

উত্তর:


10

আমি মনে করি এটি পূর্বাভাস ফাংশনের একটি বাগ (এবং তাই আমার দোষ), যা আসলে এনএমএএম ভাগ করে না । ( সম্পাদনা করুন : এর সাম্প্রতিক আর-ফরজ সংস্করণে স্থির করা উচিত lme4)) উদাহরণের জন্য নীচে দেখুন ...

আমি মনে করি অরথোগোনাল বহুপদী সম্পর্কে আপনার বোঝা সম্ভবত ঠিক আছে। আপনি যদি এক শ্রেণীর মডেলগুলির জন্য ভবিষ্যদ্বাণী পদ্ধতি লেখার চেষ্টা করছেন তবে তাদের সম্পর্কে আপনার যে কৌশলগুলি জেনে রাখা উচিত তা হ'ল र्थোগোনাল বহুবচনগুলির ভিত্তি কোনও নির্দিষ্ট উপাত্তের উপর ভিত্তি করে সংজ্ঞায়িত করা হয়, তাই যদি আপনি নির্লজ্জভাবে (যেমন আমি করেছিলাম)! ) model.matrixনতুন সেট ডেটার জন্য ডিজাইন ম্যাট্রিক্স উত্পন্ন করার চেষ্টা করার জন্য আপনি একটি নতুন ভিত্তি পাবেন - যা পুরানো পরামিতিগুলির সাথে আর বোঝায় না। যতক্ষণ না আমি এই সংশোধন না করে, আমার এমন একটি ফাঁদ লাগাতে হবে যা লোকদের জানায় যে predictঅরথোগোনাল বহুবর্ষীয় ঘাঁটিগুলি (বা স্প্লাইন বেসগুলি, যাদের একই সম্পত্তি রয়েছে) নিয়ে কাজ করে না।

d <- expand.grid(x=seq(0,1,length=50),f=LETTERS[1:10])
set.seed(1001)
u.int <- rnorm(10,sd=0.5)
u.slope <- rnorm(10,sd=0.2)
u.quad <- rnorm(10,sd=0.1)
d <- transform(d,
               ypred = (1+u.int[f])+
               (2+u.slope[f])*x-
               (1+u.quad[f])*x^2)
d$y <- rnorm(nrow(d),mean=d$ypred,sd=0.2)
ggplot(d,aes(x=x,y=y,colour=f))+geom_line()+
    geom_line(aes(y=ypred),linetype=2)

library(lme4)
fm1 <- lmer(y~poly(x,2,raw=TRUE)+(1|f)+(0+x|f)+(0+I(x^2)|f),
            data=d)


fm2 <- lmer(y~poly(x,2)+(1|f)+(0+x|f)+(0+I(x^2)|f),
            data=d)
newdat <- data.frame(x=unique(d$x))
plot(predict(fm1,newdata=newdat,REform=NA))
lines(predict(fm2,newdata=newdat,REform=NA),col=2)
detach("package:lme4")

library(nlme)
fm3 <- lme(y~poly(x,2,raw=TRUE),
           random=list(~1|f,~0+x|f,~0+I(x^2)|f),
            data=d)
VarCorr(fm3)

fm4 <- lme(y~poly(x,2),
           random=list(~1|f,~0+x|f,~0+I(x^2)|f),
            data=d)

newdat <- data.frame(x=unique(d$x))
lines(predict(fm3,newdata=newdat,level=0),col=4)
lines(predict(fm4,newdata=newdat,level=0),col=5)

আপনাকে ধন্যবাদ, এটি আশ্বাস দেয় পুনরাবৃত্তি করার জন্য: আমি পড়েছি যে আপনি মুখের মূল্যে অরথোগোনাল বহুপদী স্থির প্রতিক্রিয়া নিতে পারবেন না, তবে কখনও কখনও এগুলি অত্যন্ত বড় মনে হয়। উদাহরণস্বরূপ, যদি আমি দুটি ঘনক বহুভিত্তির একটি ইন্টারেক্টিশন চালনা করি তবে আমি বহনীতিগুলি এবং তাদের ইন্টারঅ্যাকশনগুলির জন্য -22 থেকে -127400 এর মধ্যে সীমাবদ্ধ প্রভাব পাই। এটি কেবল আমার কাছে মনে হচ্ছে, বিশেষত সমস্ত স্থির প্রভাবগুলি নেতিবাচক বলে বিবেচনা করে। কোনও সংশোধিত পূর্বাভাসের ফাংশনটি কি এই স্থির প্রভাবগুলি বোঝায় বা মডেলগুলি মিথ্যাভাবে রূপান্তরিত করেছিল বা ল্যামারগুলিতে সর্বোপরি কিছু ভুল আছে?
রুবেন

আবার, আমি সন্দেহ করি (তবে অবশ্যই তা নিশ্চিতভাবে জানা নেই) যে সবকিছু ঠিক আছে। Orth। বহুসংখ্যক সংখ্যার স্থায়িত্ব এবং অনুমানের পরীক্ষার জন্য ভাল তবে প্রকৃত প্যারামিটার মানগুলি ব্যাখ্যা করা আরও কঠিন হতে পারে। Lme4-devel এর বর্তমান সংস্করণ (আমি সবেমাত্র একটি সংস্করণ পোস্ট করেছি যা পরীক্ষাগুলি পাস করতে পারে, আর-ফোর্জে পুনর্নির্মাণ করতে 24 ঘন্টা লাগতে পারে, যদি আপনি নিজে এসভিএন থেকে তৈরি করতে না পারেন) আপনাকে কাঁচা / অরথো পলিনোমিয়ালের মধ্যে মিলের পূর্বাভাস দিতে হবে। একটি বিকল্প হ'ল ইকোলজি অ্যান্ড ইভোলিউশনে শ্যায়েলজেথ 2010 পদ্ধতিগুলি কেন্দ্র করে এবং স্কেল করা ...
বেন বলকার

হ্যাঁ, দুটি বহুপদী এখন পুরোপুরি ভাল একমত। অনেক ধন্যবাদ! আমি আমার ভবিষ্যদ্বাণীকারীকে মাপিয়েছি এবং কেন্দ্রিক করেছিলাম তবে কিছু মডেল কাঁচা বহুপদীগুলির সাথে খাপ খায় না।
রুবেন 16
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.