গণনা প্রতিরোধের জন্য ডায়াগনস্টিক প্লট


88

ফলাফলগুলি একটি গণনার পরিবর্তনশীল যেখানে অবস্থাগুলির জন্য আপনি ডায়াগনস্টিক প্লটগুলি (এবং সম্ভবত আনুষ্ঠানিক পরীক্ষা) সর্বাধিক তথ্যবহুল খুঁজে পান?

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

প্রজ্ঞা ও রেফারেন্সগুলি প্রশংসিত আমি এটি কেন জিজ্ঞাসা করছি তার পিছনের গল্পটি যদি এটি প্রাসঙ্গিক হয় তবে তা আমার অন্যান্য প্রশ্ন

সম্পর্কিত আলোচনা:

উত্তর:


101

এখানে আমি সাধারণত যা করতে চাই তা এখানে (উদাহরণের জন্য আমি বিদ্যালয়ের অনুপস্থিত ছাত্রদের দিনের অতিমাত্রায় এবং খুব সহজেই মডেলিং কুইন ডেটা ব্যবহার করি না MASS):

  1. বৃহত্তর অংশে প্যাকেজ দ্বারা সমর্থিত পর্যবেক্ষিত ফ্রিকোয়েন্সি এবং লাগানো ফ্রিকোয়েন্সি ( বন্ধুত্বের দ্বিতীয় অধ্যায়ে দেখুন ) প্লট করে মূল গণনা ডেটা পরীক্ষা করুন এবং গ্রাফ করুন । উদাহরণস্বরূপ, এবং এর সাথে :vcdRgoodfitrootogram

    library(MASS)
    library(vcd)
    data(quine) 
    fit <- goodfit(quine$Days) 
    summary(fit) 
    rootogram(fit)

    বা অর্ড প্লটগুলি যা কোন গণনা ডেটা মডেলটি অন্তর্নিহিত তা সনাক্ত করতে সহায়তা করে (উদাহরণস্বরূপ, এখানে slালটি ইতিবাচক এবং বিরতি ইতিবাচক যা নেতিবাচক দ্বিপদী বিতরণের জন্য কথা বলে):

    Ord_plot(quine$Days)

    বা "এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সনেস" প্লট যেখানে XXXXX পছন্দগুলি বিতরণ করা হয়েছে, বলুন পোয়েসনেস প্লট (যা পোইসনের বিরুদ্ধে কথা বলে, চেষ্টাও করুন type="nbinom"):

    distplot(quine$Days, type="poisson")
  2. যথাযথ উপকারের -যথাযথ পদক্ষেপগুলি পরীক্ষা করুন (যেমন সম্ভাবনা অনুপাতের পরিসংখ্যান বনাম একটি নাল মডেল বা অনুরূপ):

    mod1 <- glm(Days~Age+Sex, data=quine, family="poisson")
    summary(mod1)
    anova(mod1, test="Chisq")
  3. চেক উপর / underdispersion দিকে তাকিয়ে residual deviance/dfবা আনুষ্ঠানিক পরীক্ষার পরিসংখ্যান এ (যেমন, এই উত্তর দেখুন )। এখানে আমাদের স্পষ্টত অতিরিক্ত ছাড়িয়ে গেছে:

    library(AER)
    deviance(mod1)/mod1$df.residual
    dispersiontest(mod1)
  4. চেক প্রভাবশালী ও লিভারেজ পয়েন্ট , যেমন, সঙ্গে influencePlotমধ্যে carপ্যাকেজ। অবশ্যই এখানে অনেকগুলি পয়েন্ট অত্যন্ত প্রভাবশালী কারণ পোইসন একটি খারাপ মডেল:

    library(car)
    influencePlot(mod1)
  5. একটি গণনা উপাত্তের মডেল এবং এর জিরোইনফ্লেটেড / বাধা প্রতিরোধের ফিট করে শূন্য মূল্যস্ফীতি পরীক্ষা করুন এবং তাদের তুলনা করুন (সাধারণত এআইসির সাথে)। এখানে একটি শূন্য স্ফীত মডেল সহজ পোইসনের চেয়ে ভাল ফিট করতে পারে (আবার সম্ভবত অতিরিক্ত মাত্রার কারণে):

    library(pscl)
    mod2 <- zeroinfl(Days~Age+Sex, data=quine, dist="poisson")
    AIC(mod1, mod2)
  6. এক্স-অক্ষের উপর y-অক্ষ বনাম (লগ) পূর্বাভাসকৃত মানগুলি (বা লিনিয়ার প্রেডিকটার) এর অবশিষ্টাংশ (কাঁচা, বিচ্যুতি বা স্কেলড) প্লট করুন । এখানে আমরা কিছু খুব বড় অবশিষ্টাংশ এবং সাধারণ থেকে বিচ্যুতির অবশিষ্টাংশগুলির যথেষ্ট পরিমাণে বিচ্যুতি দেখতে পাই (পোইসনের বিরুদ্ধে কথা বলছি; সম্পাদনা: @ ফ্লোরিয়ান হার্টিগের উত্তর থেকে বোঝা যায় যে এই অবশিষ্টাংশগুলির স্বাভাবিকতা প্রত্যাশিত নয় তাই এটি কোনও চূড়ান্ত সূত্র নয়):

    res <- residuals(mod1, type="deviance")
    plot(log(predict(mod1)), res)
    abline(h=0, lty=2)
    qqnorm(res)
    qqline(res)
  7. যদি আগ্রহী হয়, অর্ডারযুক্ত পরম রেসিডুয়ালগুলি বনাম। প্রত্যাশিত সাধারণ মান অ্যাটকিনসন (1981) প্লট করে অবশিষ্টাংশগুলির অর্ধেক সাধারণ সম্ভাবনার প্লট প্লট করুন । একটি বিশেষ বৈশিষ্ট্য হ'ল একটি রেফারেন্স 'লাইন' অনুকরণ এবং সিমুলেটেড / বুটস্ট্র্যাপযুক্ত আত্মবিশ্বাসের অন্তরগুলির সাথে খাম (যদিও দেখানো হয়নি):

    library(faraway)
    halfnorm(residuals(mod1))
  8. ±

    plot(Days~Age, data=quine) 
    prs  <- predict(mod1, type="response", se.fit=TRUE)
    pris <- data.frame("pest"=prs[[1]], "lwr"=prs[[1]]-prs[[2]], "upr"=prs[[1]]+prs[[2]])
    points(pris$pest ~ quine$Age, col="red")
    points(pris$lwr  ~ quine$Age, col="pink", pch=19)
    points(pris$upr  ~ quine$Age, col="pink", pch=19)

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


6
দুর্দান্ত পুরো উত্তর! প্লটগুলির দেখতে কেমন হওয়া উচিত তা নিয়ে আমার চোখকে প্রশিক্ষণের জন্য পায়সন-সিমুলেটেড ডেটা দিয়ে এই ডায়াগনস্টিকগুলি চালিয়ে যাওয়া সহায়ক ছিল।
অর্ধ-পাস

প্লটগুলি কী করে সে সম্পর্কে আমার আরও ব্যাখ্যা দেওয়া উচিত ছিল বা এটি কি ঠিক আছে?
মোমো

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

1
এইচএম, আপনি কি আর্গুমেন্ট হিসাবে টাইপ = "এনবিনোমিয়াল" ব্যবহার করছেন? যেমন এফএম <- glm.nb (দিনগুলি ~।, ডেটা = কোয়াইন); ডামি <- rnegbin (লাগানো (fm), থেইটা = 4.5) ভাল কাজ করে।
মোমো

@ মোমো, ধন্যবাদ - আমি এক্স = রেনেগবিনের মতো কিছু করছিলাম (এন = 1000, মিউ = 10, থিতা = 1); ফিট = গুডফিট (এক্স, টাইপ = "এনবিনোমিয়াল"); সারসংক্ষেপ (মাপসই)। থাইটা = 4.5 নির্ধারণ করা ফিটকে উন্নত করে, তবে এটি প্রায়শই পি <0.05 হয় এবং রুটোগ্রামটি দেখতে বেশ খারাপ লাগে। ঠিক তাই আমি আমাদের অনুকরণগুলির মধ্যে পার্থক্যটি বুঝতে পারি: আপনার মধ্যে, ডামির প্রতিটি মান একটি ভিন্ন গড় প্যারামিটার (লাগানো (এফএম) এর মান) থেকে অনুকরণ করা হয়েছিল, তাই না? আমার, তাদের সকলেরই দশটি 10.
অর্ধ-পাস

14

স্ট্যান্ডার্ড ডায়াগনস্টিক প্লটগুলি ব্যবহার করার পদ্ধতির জন্য তবে তাদের দেখতে কেমন হওয়া উচিত তা জানতে চাইলে আমার এই কাগজটি পছন্দ:

 Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne,
 D.F and Wickham, H. (2009) Statistical Inference for exploratory
 data analysis and model diagnostics Phil. Trans. R. Soc. A 2009
 367, 4361-4383 doi: 10.1098/rsta.2009.0120

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


6
রেকর্ডের জন্য উপরের ডেটাগুলির সাথে একটি উদাহরণ: Mod1 <- গ্ল্যাম (দিনগুলি ~ বয়স + লিঙ্গ, ডেটা = কুইন, পরিবার = "পোয়েসন"); যদি (ইন্টারেক্টিভ ()) {ভিস.টিস্ট (অবশিষ্টগুলি (মোড 1, টাইপ = "প্রতিক্রিয়া"), ভিটি.কিউএনএনএম, নরো = 5, এনসিএল = 5, এনপেজ = 3)}
অর্ধ-পাস

13

এটি একটি পুরানো প্রশ্ন, তবে আমি ভেবেছিলাম এটি যুক্ত করা কার্যকর হবে যে আমার DHARMA আর প্যাকেজটি (CRAN থেকে উপলভ্য, এখানে দেখুন ) এখন জিএলএম এবং জিএলএমএম-এর জন্য মানযুক্ত রেসিডুয়াল সরবরাহ করে, @ গ্রেগস্নো দ্বারা প্রস্তাবিত অনুরূপ সিমুলেশন পদ্ধতির উপর ভিত্তি করে ।

প্যাকেজ বিবরণ থেকে:

ডিএইচআরএমএ প্যাকেজটি উপযুক্ত সাধারণ রৈখিক রৈখিক মিশ্র মডেলগুলি থেকে সহজেই ব্যাখ্যাযোগ্য স্কেলযুক্ত অবশিষ্টাংশ তৈরি করতে সিমুলেশন-ভিত্তিক পদ্ধতির ব্যবহার করে। বর্তমানে সমর্থিত সমস্ত 'মেরমড' ক্লাসগুলি 'lme4' ('লিমারমড', 'গ্লমারমড'), 'গ্ল্যাম' ('এমএসএস' থেকে 'নেগবিন' সহ, তবে কোষ-বিতরণ বাদে) এবং 'এলএম' মডেল ক্লাসে রয়েছে classes বিকল্পভাবে, বাহ্যিকভাবে তৈরি সিমুলেশনগুলি, যেমন 'জেজিএস', 'স্ট্যান', বা 'বাজিএস' এর মতো বায়েশিয়ান সফ্টওয়্যার থেকে পরবর্তী ভবিষ্যদ্বাণীমূলক সিমুলেশনগুলিও প্রক্রিয়া করা যায়। ফলস্বরূপ অবশিষ্টাংশগুলি 0 এবং 1 এর মধ্যে মানগুলিতে মানীকৃত হয় এবং লিনিয়ার রিগ্রেশন থেকে অবশিষ্টাংশ হিসাবে স্বজ্ঞাতভাবে ব্যাখ্যা করা যায়। প্যাকেজটি টিপিক্যাল মডেলটির অপব্যবহারের সমস্যাটির জন্য বেশ কয়েকটি প্লট এবং পরীক্ষা ফাংশন সরবরাহ করে,

@ মোমো - আপনি আপনার সুপারিশটি 6 আপডেট করতে চাইতে পারেন, এটি বিভ্রান্তিকর। ডিএইচআরএমএ উইগনেটে বা এখানে যেমন ব্যাখ্যা করা হয়েছে, পইসনের অধীনে বিচ্যুততার অবশিষ্টাংশগুলির স্বাভাবিকতা সাধারণত প্রত্যাশিত নয় ; এবং ডিভিভিয়েন্স রেসিডুয়ালগুলি (বা অন্য কোনও স্ট্যান্ডার্ড রেসিডুয়লস) যা QQnorm প্লটের একটি সরলরেখার চেয়ে পৃথক রয়েছে তাই সাধারণভাবে কোনও উদ্বেগের বিষয় নয় । DHARMa প্যাকেজটি এমন কিউকিউ প্লট সরবরাহ করে যা পোইসন বা অন্যান্য জিএলএম পরিবার থেকে বিচ্যুতি নির্ণয়ের জন্য নির্ভরযোগ্য। আমি এখানে একটি উদাহরণ তৈরি করেছি যা এখানে বিচ্যুতির অবশিষ্টাংশগুলির সাথে সমস্যাটি দেখায় ।


4

জিএলএমগুলির জন্য ডায়াগনস্টিক প্লট তৈরি করতে glm.diag.plotsপ্যাকেজ নামে একটি ফাংশন রয়েছে boot। এর মানে কি:

রৈখিক ভবিষ্যদ্বাণীকারীর বিরুদ্ধে জ্যাকনিফের বিচ্যুতি অবশিষ্টাংশের প্লট তৈরি করে, স্ট্যান্ডার্ডাইজড ডিভ্যান্স রেসিডুয়ালের সাধারণ স্কোর প্লট, লিভারেজ / (1-লিভারেজ) এর বিপরীতে আনুমানিক কুকের পরিসংখ্যানের প্লট এবং কুকের পরিসংখ্যানের কেস প্লট করে।

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