সঠিক প্রারম্ভিক মানগুলির সাথে এনএলএসে একক একক গ্রেডিয়েন্ট ত্রুটি


19

আমি কিছু ডেটাতে একটি লাইন + সূচকীয় বক্ররেখা ফিট করার চেষ্টা করছি। শুরু হিসাবে, আমি কিছু কৃত্রিম ডেটাতে এটি করার চেষ্টা করেছি। ফাংশনটি হ'ল: এটি কার্যকরভাবে একটি রৈখিক বিভাগ সহ একটি ক্ষতিকারক বাঁক, পাশাপাশি একটি অতিরিক্ত অনুভূমিক শিফট প্যারামিটার ( এম )। যাইহোক, আমি যখন আর এর ফাংশনটি ব্যবহার করি তখন আমি ভয়ঙ্কর " প্রাথমিক প্যারামিটারের প্রাক্কলন অনুসারে একক গ্রেডিয়েন্ট ম্যাট্রিক্স " ত্রুটি পেয়েছি, এমনকি যদি আমি একই পরামিতি ব্যবহার করি যা আমি প্রথম স্থানে ডেটা তৈরি করতে ব্যবহৃত হত। আমি বিভিন্ন অ্যালগরিদম, বিভিন্ন প্রারম্ভিক মান চেষ্টা করেছি এবং ব্যবহার করার চেষ্টা করেছি

y=a+b⋅r(x−m)+c⋅x
nls()
optimবর্গক্ষেত্রের অবশিষ্টাংশকে ছোট করতে, সমস্ত কিছুই কার্যকর হয় না। আমি পড়েছি যে এটির একটি সম্ভাব্য কারণ সূত্রটির অতিরিক্ত প্যারামিটরিসেশন হতে পারে, তবে আমি মনে করি না এটি (এটি
কি ?) কারও কাছে এই সমস্যার জন্য কোনও পরামর্শ আছে কি? বা এটি কি কেবল একটি বিশ্রী মডেল?

একটি সংক্ষিপ্ত উদাহরণ:

#parameters used to generate the data
reala=-3
realb=5
realc=0.5
realr=0.7
realm=1
x=1:11 #x values - I have 11 timepoint data
#linear+exponential function
y=reala + realb*realr^(x-realm) + realc*x
#add a bit of noise to avoid zero-residual data
jitter_y = jitter(y,amount=0.2)
testdat=data.frame(x,jitter_y)

#try the regression with similar starting values to the the real parameters
linexp=nls(jitter_y~a+b*r^(x-m)+c*x, data=testdat, start=list(a=-3, b=5, c=0.5, r=0.7, m=1), trace=T)

ধন্যবাদ!


2
ইঙ্গিত: (একটি নির্ধারিত ) এর সহগ দেখুন এবং নোট করুন যে সহ সমাধানগুলির একটি দ্বিমাত্রিক পরিবার রয়েছে । rxrbr−m=constant(b,m)b=rm⋅constant
— whuber

1
এটি কোনও চিহ্নিত মডেল নয়, যদি না বা কোনওভাবে বাঁধা থাকে। আমি মনে করি - প্রয়োজনটি কাজটি করবে। আর আর ∈ ( 0 , 1 )brr∈(0,1)
— ম্যাক্রো

উত্তর:


16

আমি সম্প্রতি এটি দ্বারা কামড়েছি আমার উদ্দেশ্যগুলি একই ছিল, কিছু কৃত্রিম মডেল তৈরি করুন এবং এটি পরীক্ষা করুন। মূল কারণটি হ'ল হুইবার এবং @ মার্কো প্রদত্ত একটি। যেমন মডেল সনাক্ত করা হয় না। এটি দেখতে, মনে রাখবেন যে এনএলএস ফাংশনটি হ্রাস করে:

∑i=1n(yi−a−brxi−m−cxi)2

বলুন এটি প্যারামিটারগুলির সেট (a,b,m,r,c) দ্বারা কমান । প্যারামিটারের সেট (a,br−m,0,r,c) কমিয়ে ফাংশনের একই মান দেবে তা দেখা শক্ত নয় not সুতরাং মডেলটি চিহ্নিত করা যায় নি, অর্থাত্ কোনও অনন্য সমাধান নেই।

গ্রেডিয়েন্ট কেন একবাক্য তা দেখতে অসুবিধা হয় না। বোঝান

f(a,b,r,m,c,x)=a+brx−m+cx

তারপর

∂f∂b=rx−m

∂f∂m=−bln⁡rrx−m

এবং আমরা এটি সমস্ত এক্স এর জন্য পেয়েছিx

bln⁡r∂f∂b+∂f∂m=0.

অতএব ম্যাট্রিক্স

(∇f(x1)⋮∇f(xn))

পুরো পদমর্যাদায় থাকবে না এবং একারণে nlsএকক গ্রেডিয়েন্ট বার্তা দেবে।

আমি এক সপ্তাহের বেশি সময় ধরে আমার কোডে বাগগুলি খুঁজতে অন্য কোথাও কাটিয়েছি যতক্ষণ না আমি লক্ষ্য করেছি যে মূল বাগটি মডেলটিতে ছিল :)


2
এটি আমার জানা বয়সগুলি তবে কেবল অবাক হচ্ছি, এর অর্থ এই নয় যে সনাক্ত করা যায় না এমন মডেলগুলিতে এনএলএস ব্যবহার করা যায় না? উদাহরণস্বরূপ, একটি নিউরাল নেটওয়ার্ক?
— জিরো

চর্বিযুক্ত সুযোগ, আমি জানি, তবে আপনি কি কম গণনা-স্মরণকারী লোকদের জন্য এটিকে ভেঙে ফেলতে পারেন? :)। এছাড়াও, তাহলে ওপি-র সমস্যার সমাধান কী? ছেড়ে দিয়ে বাসায় যাবি?
— বনাঞ্চল বিশেষজ্ঞ

2
b⋅rx−mβ⋅rxmββ=b⋅r−m

@ কাউন্টজারো, মূলত হ্যাঁ, প্যারামিটারগুলি অনির্দিষ্ট না হলে স্বাভাবিক অপ্টিমাইজেশন পদ্ধতিগুলি ব্যর্থ হবে। নিউরাল নেটওয়ার্কগুলি অতিরিক্ত কন্ট্রেন্টগুলি যুক্ত করে এবং অন্যান্য আকর্ষণীয় কৌশল ব্যবহার করে এই সমস্যার পক্ষে sides
— এমপিক্টাস

∂চ∂মি=-খLn⁡R Rএক্স-মি

17

উপরের উত্তরগুলি অবশ্যই সঠিক। এর মূল্য কী, এর জন্য প্রদত্ত ব্যাখ্যাগুলি ছাড়াও, যদি আপনি কোনও কৃত্রিম ডেটা সেটটিতে এটি চেষ্টা করে থাকেন তবে এনএসএল সহায়তা পৃষ্ঠা অনুসারে পাওয়া যাবে: http://stat.ethz.ch/R-manual/R-patched/ লাইব্রেরি / পরিসংখ্যান / HTML / nls.html

আর এর এনএলএস এটি পরিচালনা করতে সক্ষম হবে না। সহায়তা পৃষ্ঠাটিতে সুনির্দিষ্টভাবে বলা হয়েছে:

সতর্কতা

কৃত্রিম "শূন্য-অবশিষ্ট" ডেটাতে এনএলএস ব্যবহার করবেন না।

এনএলএস ফাংশনটি একটি আপেক্ষিক-অফসেট কনভার্জেনশন মাপদণ্ড ব্যবহার করে যা বর্তমান প্যারামিটার অনুমানের সংখ্যাসূচক ত্রুটির সাথে অবশিষ্টাংশের-অবশিষ্টাংশের সাথে তুলনা করে। এটি ফর্মের ডেটাতে ভাল সম্পাদন করে

y = f (x, θ) + ইপিএস

(var (eps)> 0) সহ। এটি ফর্মের ডেটাতে অভিব্যক্তি নির্দেশ করতে ব্যর্থ

y = f (x, θ)

কারণ মানদণ্ডটি রাউন্ড-অফ ত্রুটির দুটি উপাদানগুলির সাথে তুলনা করার পরিমাণ। আপনি যদি কৃত্রিম ডেটাতে এনএলএস পরীক্ষা করতে চান তবে দয়া করে নীচের উদাহরণে প্রদর্শিত শব্দের উপাদান যুক্ত করুন।

সুতরাং, কোনও আওয়াজ নেই == আর এর এনএলএসের পক্ষে ভাল নয়।


@ বি_ডি_ডুব্যা সাইটে আপনাকে স্বাগতম। আমি আপনার উত্তরটি ফর্ম্যাট করার স্বাধীনতা নিয়েছি, আমি আশা করি আপনার আপত্তি নেই। আপনি সিভি আপনার উত্তর সম্পাদনা করা সম্পর্কে আরও তথ্য পেতে পারেন এখানে ।
— গুং - মনিকা পুনরায়

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