আর-এ বিঘ্নিত সময় সিরিজ বিশ্লেষণের জন্য সংস্থানসমূহ


12

আমি আর-এ মোটামুটি নতুন I

  1. শামওয়ে এবং স্টোফারের সময় সিরিজের বিশ্লেষণ এবং এর অ্যাপ্লিকেশনগুলির তৃতীয় সংস্করণ ,
  2. হেন্ডম্যানের দুর্দান্ত পূর্বাভাস: নীতি ও অনুশীলন
  3. সময় সিরিজ বিশ্লেষণের জন্য এভ্রিল কোঘলানের ব্যবহার করা আর
  4. উ। আয়ান ম্যাকলিউড এবং আল টাইম সিরিজ বিশ্লেষণ আর
  5. মার্সেল ডেটলিংয়ের প্রয়োগকৃত সময় সিরিজ বিশ্লেষণ

সম্পাদনা করুন: আমি কীভাবে এটি পরিচালনা করব তা নিশ্চিত নই তবে ক্রস ভ্যালিটেটেডের বাইরে আমি একটি দরকারী উত্স পেয়েছি। কেউ যদি এই প্রশ্নে হোঁচট খায় তবে আমি এটিকে এখানে অন্তর্ভুক্ত করতে চেয়েছিলাম।

ওষুধ ব্যবহার গবেষণায় বিঘ্নিত সময় সিরিজের অধ্যয়নের বিচ্ছিন্ন রিগ্রেশন বিশ্লেষণ

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

Hyndman এর ব্যবহার forecastপ্যাকেজ আমি ব্যবহার প্রাক হস্তক্ষেপ ডেটাতে একটি Arima মডেল লাগানো আছে auto.arima()। তবে ট্রেন্ডের পরিসংখ্যানগতভাবে উল্লেখযোগ্য পরিবর্তন হয়েছে এবং পরিমাণের পরিমাণ নির্ধারণ করা হয়েছে কিনা তার উত্তর দিতে আমি এই ফিটটি কীভাবে ব্যবহার করব সে সম্পর্কে আমি নিশ্চিত নই।

# for simplification I will aggregate to monthly counts
# I can later generalize any teachings the community supplies
count <- c(2464, 2683, 2426, 2258, 1950, 1548, 1108,  991, 1616, 1809, 1688, 2168, 2226, 2379, 2211, 1925, 1998, 1740, 1305,  924, 1487, 1792, 1485, 1701, 1962, 2896, 2862, 2051, 1776, 1358, 1110,  939, 1446, 1550, 1809, 2370, 2401, 2641, 2301, 1902, 2056, 1798, 1198,  994, 1507, 1604, 1761, 2080, 2069, 2279, 2290, 1758, 1850, 1598, 1032,  916, 1428, 1708, 2067, 2626, 2194, 2046, 1905, 1712, 1672, 1473, 1052,  874, 1358, 1694, 1875, 2220, 2141, 2129, 1920, 1595, 1445, 1308, 1039,  828, 1724, 2045, 1715, 1840)
# for explanatory purposes
# month <- rep(month.name, 7)
# year <- 1999:2005
ts <- ts(count, start(1999, 1))
train_month <- window(ts, start=c(1999,1), end = c(2001,1))
require(forecast)
arima_train <- auto.arima(train_month)
fit_month <- Arima(train_month, order = c(2,0,0), seasonal = c(1,1,0), lambda = 0)
plot(forecast(fit_month, 36)); lines(ts, col="red")

আর-তে কোনও বাধা সময় সিরিজ বিশ্লেষণের সাথে বিশেষত কোন সংস্থান রয়েছে? আমি এসটিএসএস-এ আইটিএসের সাথে এই লেনদেনটি খুঁজে পেয়েছি তবে আমি আর এ অনুবাদ করতে পারিনি have


হস্তক্ষেপের কোনও পরিসংখ্যানগতভাবে গুরুত্বপূর্ণ প্রভাব ছিল কিনা সে বিষয়ে আপনি কি অনুমান করতে চান , বা আপনি আরও ভাল পূর্বাভাস পেতে হস্তক্ষেপের মডেল করতে চান ? এবং আপনি সম্ভবত ডেটা উপলব্ধ করতে পারেন?
স্টিফান কোলাছা

@ স্টেফানকোলাসা অবশ্যই! আমার উদ্দেশ্য অনুমান করা হয়। আমি আমার পয়েন্টটি আরও ভালভাবে বর্ণনা করার জন্য একটি সম্পাদনায় ডামি ডেটা সরবরাহ করব।
dais.johns

@ স্টেনফোনকোলাসা ডেটা আমার সেরা যোগ্যতার জন্য সরবরাহ করেছে।
dais.johns

পূর্ববর্তী গবেষণাটি হস্তক্ষেপকে +/- 5% পরিবর্তনের স্কেল হিসাবে প্রভাবিত করার পরামর্শ দেয়।
dais.johns

@ স্টাফানকোলাসা প্রকৃত ব্যবহারের উপযোগী ডেটা সরবরাহ করেছেন
dais.johns

উত্তর:


4

এটি পরিবর্তন-পয়েন্ট বিশ্লেষণ হিসাবে পরিচিত। আর প্যাকেজটি changepointআপনার পক্ষে এটি করতে পারে: এখানে ডকুমেন্টেশন দেখুন (সাহিত্যের উল্লেখ সহ): http://www.lancs.ac.uk/~killick/Pub/KillickEckley2011.pdf


ধন্যবাদ. আমি এটি খতিয়ে দেখছি। আমি যতদূর বলতে পারি এটি সিরিজের সম্ভাব্য পরিবর্তন পয়েন্টগুলি গণনা করবে তবে প্রবণতার পার্থক্য বিশ্লেষণ করবে না। এই অনুমানটি ভুল হলে আমি ক্ষমাপ্রার্থী আমি পৃষ্ঠপোষকতা ছাড়া অন্য প্যাকেজটি পর্যালোচনা করতে সক্ষম হইনি।
dais.johns

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

আপনার পরামর্শের জন্য আপনাকে ধন্যবাদ আমি বাস্তবায়নের চেষ্টা করব এবং এটি যদি সমস্যার সমাধান করে তবে "জবাব দেওয়া" হিসাবে চিহ্নিত করব।
dais.johns

2

আমি বারবার ব্যবস্থাপনার শ্রেণিবিন্যাসের মডেলটির পরামর্শ দেব। এই পদ্ধতিটির শক্তিশালী ফলাফল দেওয়া উচিত কারণ প্রতিটি ব্যক্তি তার নিজের নিয়ন্ত্রণ হিসাবে কাজ করবে। ইউসিএলএ থেকে এই লিঙ্কটি পরীক্ষা করে দেখুন


0

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

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

# Fit the change point model
library(mcp)
model_full = list(
  count ~ 1 + ar(1),  # intercept and AR(1)
  ~ 1  # New intercept
)
fit_full = mcp(model_full, data = df, family = poisson(), par_x = "year")


# Fit the null model
model_null = list(
  count ~ 1 + ar(1)  # just a stable AR(1)
)
fit_null = mcp(model_null, data = df, family = poisson(), par_x = "year")

# Compare predictive performance using LOO cross-validation
fit_full$loo = loo(fit_full)
fit_null$loo = loo(fit_null)
loo::loo_compare(fit_full$loo, fit_null$loo)

বর্তমান ডেটাসেটের জন্য, এর ফলাফল

       elpd_diff se_diff
model2    0.0       0.0 
model1 -459.1      64.3 

অর্থাৎ, elpd_diff/se_diffনাল মডেলের পক্ষে প্রায় 7 এর অনুপাত (কোনও পরিবর্তন নেই)। সম্ভাব্য উন্নতির মধ্যে রয়েছে:

  • ব্যবহার করে পর্যায়ক্রমিক প্রবণতা মডেলিং sin()বা cos()
  • পরিবর্তনের সম্ভাব্য অবস্থান সম্পর্কে পূর্বের তথ্য যুক্ত করা, যেমন prior = list(cp_1 = dnorm(1999.8, 0.5)

Autoregression মডেলিং, মডেল তুলনা করে বেড়াতেন, আর গতকাল দেশের সর্বোচ্চ তাপমাত্রা সেট করার বিষয়ে আরো পড়ুন ওয়েবসাইট । প্রকাশ: আমি এর বিকাশকারী ।mcpmcp

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