হাতে আরিমা অনুমান


15

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

এলএল(θ)=-এন2লগ(2π)-এন2লগ(σ2)-Σটি=1এনটি22σ2

আমি নিজেই এআরআইএমএ / বিজে অনুমানটি শিখতে চাই। তাই আমি হাত দিয়ে এআরএমএ অনুমান করার জন্য একটি কোড লিখতে ব্যবহার করেছি । নীচে আমি যা করেছি ,আরআর

  • আমি এআরএমএ অনুকরণ করেছি (1,1)
  • ফাংশন হিসাবে উপরের সমীকরণটি লিখেছিলেন
  • এআর এবং এমএ প্যারামিটারগুলি অনুমান করতে সিমুলেটেড ডেটা এবং সর্বোত্তম ফাংশন ব্যবহার করুন।
  • আমি স্ট্যাটাস প্যাকেজে এআরআইএমএ চালিয়েছি এবং হাতের কাজ থেকে আরআরএমএ পরামিতিগুলি তুলনা করেছি। নীচে তুলনা করা হয়:

তুলনা

** নীচে আমার প্রশ্নগুলি:

  • আনুমানিক এবং গণনাযুক্ত ভেরিয়েবলের মধ্যে কেন সামান্য পার্থক্য রয়েছে?
  • আরিমা কি আর ব্যাককাস্টে ফাংশন করে বা আমার কোডের নীচে বর্ণিত রূপগুলির চেয়ে অনুমানের পদ্ধতিটি আলাদা করে?
  • আমি পর্যবেক্ষণে ই 1 বা ত্রুটি 0 হিসাবে 0 হিসাবে নির্ধারিত করেছি, এটি কি সঠিক?
  • এছাড়াও অপ্টিমাইজেশনের হেসিয়ান ব্যবহার করে পূর্বাভাসের আত্মবিশ্বাসের সীমাটি অনুমান করার কোনও উপায় আছে কি?

বরাবরের মত আপনার সহায়তার জন্য অনেক ধন্যবাদ।

নীচে কোডটি দেওয়া হল:

## Load Packages

library(stats)
library(forecast)

set.seed(456)


## Simulate Arima
y <- arima.sim(n = 250, list(ar = 0.3, ma = 0.7), mean = 5)
plot(y)

## Optimize Log-Likelihood for ARIMA

n = length(y) ## Count the number of observations
e = rep(1, n) ## Initialize e

logl <- function(mx){

  g <- numeric
  mx <- matrix(mx, ncol = 4)

  mu <- mx[,1] ## Constant Term
  sigma <- mx[,2] 
  rho <- mx[,3] ## AR coeff
  theta <- mx[,4] ## MA coeff

  e[1] = 0 ## Since e1 = 0

  for (t in (2 : n)){
    e[t] = y[t] - mu - rho*y[t-1] - theta*e[t-1]
  }

  ## Maximize Log-Likelihood Function 
  g1 <-  (-((n)/2)*log(2*pi) - ((n)/2)*log(sigma^2+0.000000001) - (1/2)*(1/(sigma^2+0.000000001))*e%*%e)

  ##note: multiplying Log-Likelihood by "-1" in order to maximize in the optimization
  ## This is done becuase Optim function in R can only minimize, "X"ing by -1 we can maximize
  ## also "+"ing by 0.000000001 sigma^2 to avoid divisible by 0
  g <- -1 * g1

  return(g)

}

## Optimize Log-Likelihood
arimopt <- optim(par=c(10,0.6,0.3,0.5), fn=logl, gr = NULL,
                 method = c("L-BFGS-B"),control = list(), hessian = T)
arimopt

############# Output Results###############
ar1_calculated = arimopt$par[3]
ma1_calculated = arimopt$par[4]
sigmasq_calculated = (arimopt$par[2])^2
logl_calculated = arimopt$val
ar1_calculated
ma1_calculated
sigmasq_calculated
logl_calculated

############# Estimate Using Arima###############
est <- arima(y,order=c(1,0,1))
est

1
টিএনটিটি=এন+ +1g1+0.000000001σ

আমি সমীকরণটি পরিবর্তন করেছি এবং এখন কোডে কী রয়েছে তা প্রতিবিম্বিত করেছি। আমি নিশ্চিত না যে আমি কীভাবে +0.000000001 অপসারণ করতে পারলাম এটি 0 টি দ্বারা বিভাজনযোগ্য হওয়ার কারণে এবং লগ (0) এর কারণে "0NNs" সৃষ্টি করবে
পূর্বাভাসক

2
সঠিক সম্ভাবনা ধারণা আছে। এটির জন্য প্রাথমিক পরামিতিগুলির জ্ঞান যেমন এমএ ত্রুটির মুষ্টির মান (আপনার প্রশ্নের একটি) প্রয়োজন। তারা প্রাথমিক মানগুলি কীভাবে আচরণ করে সে সম্পর্কে সাধারণত বাস্তবায়নগুলি পৃথক হয়। আমি সাধারণত যা করি তা হ'ল (যা অনেক বইয়ে উল্লেখ করা হয়নি) এছাড়াও প্রাথমিক মানগুলিতেও এমএল আর্টকে সর্বাধিক করে তোলা।
ক্যাগডাস ওজজেঙ্ক 21

3
দয়া করে Tsay থেকে নিম্নোক্ত কটাক্ষপাত করা, এটা সব ক্ষেত্রে আচ্ছাদন করা হয় না, কিন্তু আমার জন্য বেশ সহায়ক ছিল: faculty.chicagobooth.edu/ruey.tsay/teaching/uts/lec8-08.pdf
Cagdas Ozgenc

1
আপনার প্রাথমিক মানগুলি দ্বারা নির্দেশিত @ ক্যাগডাস ওজগেনেক পার্থক্যের কারণ। যদি আপনি উত্তর হিসাবে আপনার মন্তব্য পোস্ট করেন তবে আমি উত্তর হিসাবে আপনার মন্তব্যটি গ্রহণ করতে পারি।
পূর্বাভাসকারী

উত্তর:


6

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

দয়া করে সাইয়ের থেকে নিম্নলিখিতটি একবার দেখুন, এটি সমস্ত ক্ষেত্রে আচ্ছাদন করে না, তবে এটি আমার পক্ষে যথেষ্ট সহায়ক ছিল:

http://faculty.chicagobooth.edu/ruey.tsay/teaching/uts/lec8-08.pdf


3

আপনি arimaফাংশনের সহায়তা পৃষ্ঠাটি পড়েছেন ? এখানে প্রাসঙ্গিক অংশ:

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

এছাড়াও পরামিতি প্রাসঙ্গিক method=c("CSS-ML", "ML", "CSS"):

ফিটিং পদ্ধতি: সর্বাধিক সম্ভাবনা বা স্কোয়ার্সের শর্তসাপেক্ষ যোগফল হ্রাস করুন। ডিফল্ট (অনুপস্থিত মানগুলি না থাকলে) শুরুর মানগুলি অনুসন্ধানের জন্য শর্তসাপেক্ষ-সমষ্টিগুলির সমষ্টি ব্যবহার করা হয়, তারপরে সর্বাধিক সম্ভাবনা।

আপনার ফলাফলগুলি arimaফাংশন দ্বারা উত্পাদিত ফলাফলগুলির চেয়ে অনেক বেশি পৃথক নয় , তাই আপনি অবশ্যই সবকিছু ঠিকঠাক পেয়েছেন।

মনে রাখবেন যে আপনি যদি দুটি অপটিমাইজেশন পদ্ধতির ফলাফলের তুলনা করতে চান তবে আপনাকে নিশ্চিত করতে হবে যে শুরুর মানগুলি একই এবং একই অপটিমাইজেশন পদ্ধতিটি ব্যবহৃত হয়, অন্যথায় ফলাফলগুলি পৃথক হতে পারে।

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