ক্ষতিকারক ফিটের স্কোয়ারের অবশিষ্টাংশগুলি কীভাবে হ্রাস করা যায়?


14

আমার কাছে নিম্নলিখিত তথ্য রয়েছে এবং এটিতে নেতিবাচক এক্সফোনেনশিয়াল গ্রোথ মডেলটি ফিট করতে চাই:

Days <- c( 1,5,12,16,22,27,36,43)
Emissions <- c( 936.76, 1458.68, 1787.23, 1840.04, 1928.97, 1963.63, 1965.37, 1985.71)
plot(Days, Emissions)
fit <- nls(Emissions ~ a* (1-exp(-b*Days)), start = list(a = 2000, b = 0.55))
curve((y = 1882 * (1 - exp(-0.5108*x))), from = 0, to =45, add = T, col = "green", lwd = 4)

কোডটি কাজ করছে এবং একটি ফিটিং লাইন প্লট করা হয়েছে। যাইহোক, ফিটটি দৃশ্যত আদর্শ নয়, এবং স্কোয়ারের অবশিষ্টাংশগুলি বেশ বিশাল (147073) বলে মনে হচ্ছে।

কীভাবে আমরা আমাদের ফিট উন্নতি করতে পারি? ডেটা কি একেবারে আরও ভাল ফিট করতে দেয়?

আমরা নেটে এই চ্যালেঞ্জের কোনও সমাধান খুঁজে পাইনি। অন্যান্য ওয়েবসাইট / পোস্টের সাথে সরাসরি কোনও সহায়তা বা লিঙ্কেজ প্রশংসিত হয়।


1
এই ক্ষেত্রে, আপনি যদি কোনও রিগ্রেশন মডেল , যেখানে ϵ iN ( 0 , σ ) বিবেচনা করেন , তবে আপনি অনুরূপ অনুমানকারী পান। আত্মবিশ্বাসের অঞ্চলগুলি প্লট করে, কেউ পর্যবেক্ষণ করতে পারে যে কীভাবে এই মানগুলি সীমাবদ্ধ অঞ্চলে রয়েছে। আপনি পয়েন্টগুলিকে আলাদা না করে বা আরও নমনীয় ননলাইনার মডেল ব্যবহার না করা আপনি নিখুঁত ফিটের আশা করতে পারবেন না। Emissionsi=f(Daysi,a,b)+ϵiϵiN(0,σ)

আমি শিরোনাম পরিবর্তন করেছি কারণ "নেতিবাচক এক্সফোনেনশিয়াল মডেল" অর্থ প্রশ্নের বর্ণনায় বর্ণিত চেয়ে আলাদা কিছু।
হোবার

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

4
আপনার একটি অতিরিক্ত পরামিতি প্রয়োজন। কি হয় দেখুন fit <- nls(Emissions ~ a* (1- u*exp(-b*Days)), start = list(a = 2000, b = 0.1, u=.5)); beta <- coefficients(fit); curve((y = beta["a"] * (1 - beta["u"] * exp(-beta["b"]*x))), add = T)
হোবার

1
@ হুবার - সম্ভবত আপনি উত্তর হিসাবে পোস্ট করা উচিত?
জোবোম্যান

উত্তর:


16

একটি (নেতিবাচক) সূচকীয় আইন রূপ নেয় । আপনি যখন x এবং y মানগুলিতে ইউনিট পরিবর্তনের অনুমতি দিচ্ছেন , যদিও, y = α y + β এবং x = γ x + to বলুন , তবে আইনটি হিসাবে প্রকাশিত হবেY=-মেপুঃ(-এক্স)এক্সYY=αY'+ +βx=γx+δ

αy+β=y=exp(x)=exp(γxδ),

যা বীজগণিতভাবে সমান

y=1αexp(γxδ)β=a(1uexp(bx))

তিন পরামিতি ব্যবহার , U = 1 / ( β Exp ( δ ) ) এবং = γ । আমরা সনাক্ত করতে পারে একটি একটি স্কেল প্যারামিটার হিসাবে Y , জন্য একটি স্কেল প্যারামিটার হিসাবে এক্স , এবং তোমার দর্শন লগ করা একটি থেকে আহরিত হিসাবে অবস্থান জন্য প্যারামিটার এক্সa=β/αu=1/(βexp(δ))b=γaybxux

থাম্বের নিয়ম হিসাবে, এই পরামিতিগুলি প্লট থেকে এক নজরে চিহ্নিত করা যেতে পারে :

  • পরামিতি অনুভূমিক অসীমপথ মান, একটু কম 2000a2000

  • প্যারামিটার হ'ল বক্রটি উত্স থেকে তার অনুভূমিক asympote এ আপেক্ষিক পরিমাণ। এখানে, উত্থান তাই 2000 - 937 এর চেয়ে কিছুটা কম ; তুলনামূলকভাবে, এটি asympote এর প্রায় 0.55u20009370.55

  • কারণ , যখন এক্স 1 / বি এর তিনগুণ সমান হয় যখন বক্ররেখাটি তার মোটের 1 - 0.05 বা 95 % এর উপরে উঠতে হবে। 937 থেকে প্রায় 2000- এর উত্থানের 95 % আমাদের 1950-এর আশেপাশে ফেলেছে ; প্লট জুড়ে স্ক্যান করতে ইঙ্গিত দেয় যে এটি 20 থেকে 25 দিন সময় নিয়েছে। চলো এটা কল 24 সরলতার জন্য, কোথা 3 / 24exp(3)0.05x1/b10.0595%95%93720001950202524 । (তাত্পর্যপূর্ণ স্কেলের চোখের পাতায়এই 95 % পদ্ধতিটি এমন কিছু ক্ষেত্রে স্ট্যান্ডার্ড যা প্লটগুলি প্রচুর পরিমাণে ব্যবহার করে standardb3/24=0.12595%

আসুন দেখে নেওয়া যাক:

plot(Days, Emissions)
curve((y = 2000 * (1 - 0.56 * exp(-0.125*x))), add = T)

Eyeball fit

একটি সূচনা জন্য খারাপ না! (এমনকি এটির 0.56জায়গায় টাইপ করা সত্ত্বেও 0.55, এটি যাইহোক ক্রুডের কাছাকাছি ছিল)) আমরা এটি দিয়ে পোলিশ করতে পারি nls:

fit <- nls(Emissions ~ a * (1- u * exp(-b*Days)), start=list(a=2000, b=1/8, u=0.55))
beta <- coefficients(fit)
plot(Days, Emissions)
curve((y = beta["a"] * (1 - beta["u"] * exp(-beta["b"]*x))), add = T, col="Green", lwd=2)

NLS fit

এর আউটপুটটিতে nlsপ্যারামিটারের অনিশ্চয়তা সম্পর্কে বিস্তৃত তথ্য রয়েছে। উদাহরণস্বরূপ , একটি সাধারণ summaryঅনুমানের স্ট্যান্ডার্ড ত্রুটি সরবরাহ করে:

> summary(fit)

Parameters:
   Estimate Std. Error t value Pr(>|t|)    
a 1.969e+03  1.317e+01  149.51 2.54e-10 ***
b 1.603e-01  1.022e-02   15.69 1.91e-05 ***
u 6.091e-01  1.613e-02   37.75 2.46e-07 ***

আমরা অনুমানের সমগ্র কোভারিয়েন্স ম্যাট্রিক্সটি পড়তে এবং কাজ করতে পারি, যা একযোগে আত্মবিশ্বাসের অন্তরগুলি (কমপক্ষে বড় ডেটাসেটের জন্য) অনুমান করার জন্য দরকারী:

> vcov(fit)
             a             b             u
a 173.38613624 -8.720531e-02 -2.602935e-02
b  -0.08720531  1.044004e-04  9.442374e-05
u  -0.02602935  9.442374e-05  2.603217e-04

nls প্যারামিটারগুলির জন্য প্রোফাইল প্লটগুলি সমর্থন করে, তাদের অনিশ্চয়তা সম্পর্কে আরও বিশদ তথ্য দেয়:

> plot(profile(fit))

এখানে তিনটি আউটপুটে প্রকরণ দেখাচ্ছে প্লট অন্যতম :a

Profile plot

উদাহরণস্বরূপ , টি-মান একটি 95% দ্বিমুখী আত্মবিশ্বাসের অন্তরালের সাথে মোটামুটিভাবে মিল; এই প্লটটি 1945 এবং 1995-এর আশেপাশে এর সমাপ্তিগুলি স্থাপন করে ।219451995


ওহ, আমি প্রায় ভুলে গেছি: res <- residuals(fit); res %*% resআমাদেরকে বলে যে তৃতীয় প্যারামিটারটি উপস্থাপক থেকে বর্গের সমষ্টি হ্রাস 2724 (তুলনায় 147073 যেমন প্রশ্ন বিবৃত)। u2724147073
whuber

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

3
x

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