বিভিন্ন ত্রুটি বৈকল্পের সাথে ডেটা অনুকরণ করতে, আপনাকে ত্রুটি বৈকল্পের জন্য ডেটা উত্পাদন প্রক্রিয়া নির্দিষ্ট করতে হবে। মতামতগুলিতে ইশারা করা হয়েছে যে আপনি যখন নিজের আসল ডেটা তৈরি করেছেন তখন আপনি তা করেছিলেন। যদি আপনার কাছে সত্যিকারের ডেটা থাকে এবং এটি চেষ্টা করতে চান তবে আপনাকে কেবল সেই ফাংশনটি সনাক্ত করতে হবে যা নির্দিষ্ট করে রেখেছে যে কীভাবে অবশিষ্টাংশগুলি আপনার সমবায়ুগুলির উপর নির্ভর করে। এটি করার স্ট্যান্ডার্ড উপায়টি হ'ল আপনার মডেলটির সাথে মানানসই, এটি যুক্তিসঙ্গত কিনা তা পরীক্ষা করুন (ভিন্ন ভিন্ন ভিন্ন), এবং অবশিষ্টাংশগুলি সংরক্ষণ করুন। এই অবশিষ্টাংশগুলি একটি নতুন মডেলের ওয়াই ভেরিয়েবলে পরিণত হয়। নীচে আমি আপনার ডেটা উত্পাদন প্রক্রিয়াটির জন্য এটি করেছি। (আপনি কোথায় এলোমেলো বীজ স্থাপন করেছেন আমি তা দেখতে পাচ্ছি না, সুতরাং এটিগুলি আক্ষরিক অর্থে একই ডেটা হবে না তবে একই রকম হওয়া উচিত এবং আপনি আমার বীজটি ব্যবহার করে আমার পুনরুত্পাদন করতে পারেন can)
set.seed(568) # this makes the example exactly reproducible
n = rep(1:100,2)
a = 0
b = 1
sigma2 = n^1.3
eps = rnorm(n,mean=0,sd=sqrt(sigma2))
y = a+b*n + eps
mod = lm(y ~ n)
res = residuals(mod)
windows()
layout(matrix(1:2, nrow=2))
plot(n,y)
abline(coef(mod), col="red")
plot(mod, which=3)
মনে রাখবেন যে R
এর প্লট.এলএম আপনাকে অবশিষ্টাংশের পরম মানের বর্গমূলের একটি প্লট (সিএফ।, এখানে ) দেবে, সহায়তার সাথে নীচু ফিট দিয়ে আচ্ছাদিত, যা আপনার প্রয়োজন কেবল এটিই। (আপনার যদি একাধিক কোভারিয়েট থাকে তবে আপনি প্রতিটি কোভারিয়েটের বিপরীতে এটি আলাদাভাবে মূল্যায়ন করতে চাইতে পারেন)) একটি বক্ররেখার সামান্যতম ইঙ্গিত রয়েছে, তবে এটি দেখতে কোনও সরল রেখার মতো ডেটা ফিট করার পক্ষে একটি ভাল কাজ করে। সুতরাং আসুন স্পষ্টভাবে যে মডেল ফিট করুন:
res.mod = lm(sqrt(abs(res))~fitted(mod))
summary(res.mod)
# Call:
# lm(formula = sqrt(abs(res)) ~ fitted(mod))
#
# Residuals:
# Min 1Q Median 3Q Max
# -3.3912 -0.7640 0.0794 0.8764 3.2726
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 1.669571 0.181361 9.206 < 2e-16 ***
# fitted(mod) 0.023558 0.003157 7.461 2.64e-12 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.285 on 198 degrees of freedom
# Multiple R-squared: 0.2195, Adjusted R-squared: 0.2155
# F-statistic: 55.67 on 1 and 198 DF, p-value: 2.641e-12
windows()
layout(matrix(1:4, nrow=2, ncol=2, byrow=TRUE))
plot(res.mod, which=1)
plot(res.mod, which=2)
plot(res.mod, which=3)
plot(res.mod, which=5)
আমাদের উদ্বিগ্ন হওয়ার দরকার নেই যে এই মডেলটির জন্য স্কেল-লোকেশন প্লটেও অবশিষ্টাংশগুলি বাড়ছে বলে মনে হচ্ছে essen যা মূলত ঘটতে হবে। আবার কোনও বক্ররেখাটির সামান্যতম ইঙ্গিত রয়েছে, তাই আমরা একটি বর্গক্ষেত্রের সাথে উপযুক্ত শব্দটি ফিট করার চেষ্টা করতে পারি এবং এটি কী সহায়তা করে তা দেখতে (তবে এটি তা নয়):
res.mod2 = lm(sqrt(abs(res))~poly(fitted(mod), 2))
summary(res.mod2)
# output omitted
anova(res.mod, res.mod2)
# Analysis of Variance Table
#
# Model 1: sqrt(abs(res)) ~ fitted(mod)
# Model 2: sqrt(abs(res)) ~ poly(fitted(mod), 2)
# Res.Df RSS Df Sum of Sq F Pr(>F)
# 1 198 326.87
# 2 197 326.85 1 0.011564 0.007 0.9336
আমরা যদি এতে সন্তুষ্ট হয়ে থাকি, আমরা এখন এই প্রক্রিয়াটিকে ডেটা অনুকরণের জন্য অ্যাড-অন হিসাবে ব্যবহার করতে পারি।
set.seed(4396) # this makes the example exactly reproducible
x = n
expected.y = coef(mod)[1] + coef(mod)[2]*x
sim.errors = rnorm(length(x), mean=0,
sd=(coef(res.mod)[1] + coef(res.mod)[2]*expected.y)^2)
observed.y = expected.y + sim.errors
নোট করুন যে এই প্রক্রিয়াটি অন্য কোনও পরিসংখ্যান পদ্ধতির চেয়ে সত্য উপাত্ত তৈরির প্রক্রিয়া খুঁজে পাওয়ার কোনও গ্যারান্টিযুক্ত নয়। ত্রুটি এসডিগুলি তৈরি করতে আপনি একটি অ-রৈখিক ক্রিয়াকলাপ ব্যবহার করেছিলেন এবং আমরা এটি একটি লিনিয়ার ফাংশন দিয়ে প্রায় অনুমান করেছি। আপনি যদি সত্যিকারের ডেটা উত্পন্নকরণ প্রক্রিয়াটিকে প্রাক-প্রাইরিটি জানেন (যেমন এই ক্ষেত্রে যেমন আপনি মূল ডেটাটি অনুকরণ করেছিলেন) তবে আপনি এটি ব্যবহার করতেও পারেন। আপনি যদি সিদ্ধান্ত নিতে পারেন যে আপনার উদ্দেশ্যগুলির জন্য এখানে অনুমানটি যথেষ্ট ভাল। আমরা সাধারণত সঠিক তথ্য উত্পন্নকরণ প্রক্রিয়াটি জানি না, তবে ওসামের রেজারের উপর ভিত্তি করে, সহজতম ফাংশনটির সাথে যেতে পারি যা আমরা উপলভ্য পরিমাণের পরিমাণে যে তথ্য সরবরাহ করেছি তা যথেষ্ট পরিমাণে ফিট করে। আপনি যদি পছন্দ করেন তবে আপনি স্প্লাইনস বা ফ্যানসিয়ার পদ্ধতিরও চেষ্টা করতে পারেন। দ্বিঘাতীয় বিতরণগুলি আমার সাথে যুক্তিযুক্তভাবে দেখতে দেখতে,