ডেটা পয়েন্টগুলির গড় হিসাবে দুটি সময়-সিরিজের সংমিশ্রণ


10

আমি গড় স্কোয়ারড প্রেডিকশন ত্রুটিটি হ্রাস করে একটি টাইম-সিরিজ ডেটা সেট করে এমন টাইম-সিরিজ ডেটার পূর্বাভাসিত এবং ব্যাককাস্টেড (অর্থাত্ পূর্বাভাসিত অতীত মানগুলি) একত্রিত করতে চাই।

বলুন যে ২০০২-২০১০ এর সময়কালের জন্য আমার ২০০ series-২০১০ সময়কাল রয়েছে । আমি ২০০১-২০০7 ডেটা (লাল রেখাকে - এটি ) ব্যবহার করে ২০০ fore এর পূর্বাভাস করতে পেরেছি এবং ২০০৮-২০০৯ ডেটা (হালকা নীল) ব্যবহার করে ব্যাককাস্ট করতে পেরেছি লাইন - এটি কল করুন )।Y YfYb

আমি এবং এর ডেটা পয়েন্টগুলি এক জন্য একটি ডেটা পয়েন্ট তে একত্রিত করতে চাই । মূলত আমি ওজন প্রাপ্ত চাই যেমন যে এটা মানে Squared প্রেডিক্সন ত্রুটির (MSPE) ছোট । যদি এটি সম্ভব না হয় তবে আমি দুটি টাইম-সিরিজের ডেটা পয়েন্টের মধ্যে কীভাবে গড় খুঁজে পাব?Y b w Y iYfYbwYi

Yi=wYf+(1w)Yb

দ্রুত উদাহরণ হিসাবে:

tt_f <- ts(1:12, start = 2007, freq = 12)
tt_b <- ts(10:21, start=2007, freq=12)

tt_f
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2007   1   2   3   4   5   6   7   8   9  10  11  12
tt_b
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2007  10  11  12  13  14  15  16  17  18  19  20  21

আমি পেতে চাই (কেবল গড় দেখানো হচ্ছে ... আদর্শভাবে এমএসপিই হ্রাস করা হচ্ছে)

tt_i
     Jan Feb Mar Apr May Jun  Jul  Aug  Sep  Oct  Nov  Dec
2007 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5

এখানে চিত্র বর্ণনা লিখুন


পূর্বাভাস মডেল কী (অরিমা, এটস, কিছু অন্যান্য)? (+1) পদ্ধতির পরামর্শের জন্য, আমি একবার এই জাতীয় উপায় সম্পর্কে চিন্তাভাবনা করেছি, তবে অন্তরঙ্গকরণের পরে প্রত্যাশা-ম্যাক্সিমাইজেশনের মধ্যেই রয়েছি। নীতিগতভাবে শিক্ষার সময়টি বড় তথ্য হতে পারে (ছবিতে লাল পূর্বাভাস) এর উপর ভিত্তি করে মডেলের জন্য উচ্চতর ওজন দিতে পারে। কিছু নির্ভুলতার মানদণ্ড ওজন তৈরি করতে, সময়-সিরিজের দৈর্ঘ্যের সাথে এতটুকু সংজ্ঞাবহভাবে সংযুক্ত না হওয়ার জন্যও সম্ভাব্য কার্যকর হতে পারে।
দিমিত্রিজ চেলভ

পূর্বাভাস মডেলটি ছাড়ার জন্য দুঃখিত। উপরের একটিটি কেবল predictপূর্বাভাস প্যাকেজের ফাংশনটি ব্যবহার করছে । যাইহোক, আমি মনে করি যে আমি ভবিষ্যদ্বাণী করতে এবং ব্যাককাস্ট করতে হল্ট উইন্টার্স পূর্বাভাস মডেলটি ব্যবহার করব। আমার কাছে সামান্য <50 টি গণনা সহ সময় সিরিজ রয়েছে, এবং পইসন রিগ্রেশন পূর্বাভাসের চেষ্টা করেছি - তবে কোনও কারণেই খুব দুর্বল ভবিষ্যদ্বাণী।
OSLOlSO

গণনাগুলির জন্য ডেটা মনে হয় যে আপনি প্রদর্শিত স্থানে ঠিক বিরতি পেয়েছেন, পূর্বাভাস এবং ব্যাক-ক্যাসেটগুলিও একই জিনিস চিত্রিত করে। পইসন আপনি রিগ্রেশনে তৈরি সময় প্রবণতা উপর ? টিlog(counts)t
দিমিত্রিজ কেলভ

আপনার কি NAমান ছাড়া কিছু গণনা বা অতিরিক্ত সম্পর্কিত সময় সিরিজ আছে ? মনে হয় যে শিক্ষার সময়সীমার তৈরির সময়কাল এমএসপিই বিভ্রান্তিকর হতে পারে যেহেতু উপ-পিরিয়ডগুলি লিনিয়ার প্রবণতাগুলি দ্বারা ভালভাবে বর্ণনা করা হয়েছে তবে মিস মিস পিরিয়ডে কোথাও একটি ড্রপ ডাউন ঘটে এবং এটি আসলে কোনও বিষয় হতে পারে। এও নোট করুন যেহেতু পূর্বাভাস প্রবণতাতে প্রান্তিক, সুতরাং তাদের গড় আপাতদৃষ্টিতে দুটি পরিবর্তে দুটি কাঠামোগত বিরতি প্রবর্তন করবে।
দিমিত্রিজ কেলভ

শুধু এখনই দিমিতিজ ফিরে আসার জন্য দুঃখিত। এই 'ব্রেক' আপনি কীসের কথা বলছেন? আমি জিএলএম রিগ্রেশনটির জন্য লগ (গণনা) করেছি । এবং এখানে গণনা তথ্যগুলির একটি উপসেট রয়েছে যা <6 এর চেয়ে কম গণনা করেছে যা আমাকে এটি ব্যবহার করতে বাধ্য করবে। আমার কাছে কেবল গণনা আছে। আপনি যদি এই প্রশ্নটি দেখেন তবে আমার কাছে থাকা ডেটা সম্পর্কে ধারণা পাবেন। উপরের গণনাগুলি কেবল '15 আপ' এজগ্রপের জন্য। এই যদি বোঝা যায়?
OSLOlSO

উত্তর:


0

ধরে নিলাম আপনার পূর্বাভাস এবং ব্যাককাস্টের জন্য পৃথক পৃথকভাবে স্কোয়ারড প্রেডিকশন ত্রুটি রয়েছে আমি এটি সুপারিশ করব: 12 এর দৈর্ঘ্যের ভেক্টর হউক, আপনি যে মাসটি আগ্রহী তা মাস হতে দিন।

w=rep(NA,12);
for(w in 1:12){
w[m]=SPE_Backcast[m]/(SPE_Backcast[m]+SPE_Forecast[m]);
}

এখন ডাব্লু পূর্বাভাসের জন্য ওজন এবং 1-ডাব্লু ব্যাককাস্টের জন্য ওজন।


এটি কেবলমাত্র সর্বনিম্ন মানটিকে আরও উচ্চতর ওজনে প্রদর্শিত হবে (এমন বিন্দুতে যে নেতিবাচক সংখ্যার ওজন> 1 থাকা শেষ হতে পারে)। আলোচ্য বিষয়টি কি? এছাড়াও, লাইন দুটিs/w/m/
nnot101

আপনি কীভাবে নেতিবাচক স্কোয়ারড ভবিষ্যদ্বাণী ত্রুটি পাবেন?
ওউ জেসেন

3

আপনার উদ্দেশ্য হ'ল সময় সিরিজের নির্ধারিত ব্যবধান (এফআই) মসৃণ করা। সময়ে পর্যবেক্ষণ মসৃণ মান একটি শর্তাধীন প্রত্যাশা হিসাবে সংজ্ঞায়িত করা হয় যেখানে এর জন্য সময় থেকে পর্যবেক্ষণ ভেক্টর সময় । উপরে, ফাঁকটি সময় থেকে শুরু করে ব্যবধান হিসাবে ধরে নেওয়া হয় , এবং পুরো সিরিজের দৈর্ঘ্য। সময় ফাঁক রয়েছে এবং প্রত্যাশাটি লেখা যেতে পারেওয়াই টি : = ( ওয়াই টি | ওয়াই 1 : R ,t Y u : v :=[ Y আপনি ,

Y^t:=E(Yt|Y1:r,Ys:n)
তোমার দর্শন লগ করা v + + 1 এর - 1 এন টি ওয়াই টি | 1 : আর , এস : এনYu:v:=[Yu,Yu+1,,Yv]uvr+1s1ntY^t|1:r,s:n এর শর্তসাপেক্ষ প্রকৃতি স্মরণ করতে।

ধূমপান করা মানটির আপনার অনুমানের মতো সহজ রূপ নেই। পরিচিত সহভেদাংক গঠন সঙ্গে একটি গসিয়ান stationnary সময় সিরিজ জন্য, আনুমানিক জন্য শূন্যস্থান একটি রৈখিক সিস্টেম সমাধান করে পাওয়া যাবে। টিY^tt

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

মজার বিষয় হল, এফআই স্মুথিং দুটি ফিল্টারের সংমিশ্রণ হিসাবে রচনা করা যেতে পারে: একটি ফরোয়ার্ড এবং একটি পশ্চাৎপদ, আপনি যে ধরণের প্রত্যাশা করেছিলেন তার ফর্মুলার দিকে নিয়ে যায়, তবে লুকানো রাষ্ট্রীয় অনুমান (পূর্বাভাস এবং ব্যাককাস্ট) এর জন্য, তবে পর্যবেক্ষণের জন্য নয় । এটি রাউচ-টুং-স্ট্রিবেল ফিল্টারিং হিসাবে পরিচিত ।αtYt

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

AP <- log10(AirPassengers) 
## Fit a Basic Structural Model
fit <- StructTS(AP, type = "BSM")

## Fit with a gap
AP.gap <- AP
AP.gap[73:96] <- NA
fit.gap <- StructTS(AP.gap, type = "BSM", optim.control = list(trace = TRUE))

# plot in orginal (non-logged) scale
plot(AirPassengers, col = "black", ylab = "AirPass")
AP.missing <- ts(AirPassengers[73:96], start=1955, , freq=12)
lines(AP.missing, col = "grey", lwd = 1)

## smooth and sum 'level' and 'sea' to retrieve series
sm <- tsSmooth(fit.gap)
fill <- apply(as.matrix(sm[ , c(1,3)]), 1, sum)
AP.fill <- ts(fill[73:96], start=1955, , freq=12)
lines(10^AP.fill, col = "red", lwd = 1)

স্মুটেড ফিল


2

আমি আপনার প্রস্তাবিত পন্থাগুলিটিকে সামনে এবং পিছনের জাতির উপকরণগুলি আকর্ষণীয় বলে মনে করি।

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

এর থেকে বোঝা যায় যে আমরা অনুপস্থিত সময়ের আগের অংশের জন্য পূর্বাভাসের ডেটা এবং আরও পরবর্তী অংশের জন্য ব্যাক-কাস্ট ডেটাতে বেশি নির্ভর করতে পারি। এটি করার সহজতম উপায় হ'ল পূর্বাভাসের জন্য রৈখিক হ্রাস করা ওজন এবং ব্যাক-কাস্টের জন্য বিপরীতে:

> n <- [number of missing datapoints] 
> w <- seq(1, 0, by = -1/(n+1))[2:(n+1)]

এটি প্রথম উপাদানটিতে ব্যাককাস্টের সামান্য ওজন দেয়। আপনি যদি প্রথম ইন্টারপোলেটেড পয়েন্টে কেবল পূর্বাভাস মানটি ব্যবহার করতে চান তবে আপনি শেষে সাবস্ক্রিপ্টগুলি ছাড়াই এন -1 ব্যবহার করতে পারেন।

> w
 [1] 0.92307692 0.84615385 0.76923077 0.69230769 0.61538462 0.53846154
 [7] 0.46153846 0.38461538 0.30769231 0.23076923 0.15384615 0.07692308

আমার কাছে আপনার ডেটা নেই, সুতরাং আর-এর এয়ারপ্যাসেঞ্জার ডেটাসেটে এটি ব্যবহার করে দেখুন just আমি কেবল কেন্দ্রের কাছে একটি দুই বছরের সময়কাল সরিয়ে দেব:

> APearly <- ts(AirPassengers[1:72], start=1949, freq=12)
> APlate <- ts(AirPassengers[97:144], start=1957, freq=12)
> APmissing <- ts(AirPassengers[73:96], start=1955, freq=12)
> plot(AirPassengers)
# plot the "missing data" for comparison
> lines(APmissing, col="#eeeeee")
# use the HoltWinters algorithm to predict the mean:
> APforecast <- hw(APearly)[2]$mean
> lines(APforecast, col="red")
# HoltWinters doesn't appear to do backcasting, so reverse the ts, forecast, 
# and reverse again (feel free to edit if there's a better process)
> backwards <- ts(rev(APlate), freq=12)
> backcast <- hw(backwards)[2]$mean
> APbackcast <- ts(rev(backcast), start=1955, freq=12)
> lines(APbackcast, col='blue')
# now the magic: 
> n <- 24 
> w <- seq(1, 0, by=-1/(n+1))[2:(n+1)]
> interpolation = APforecast * w + (1 - w) * APbackcast
> lines(interpolation, col='purple', lwd=2)

এবং আপনার বিরক্তি আছে।

গ্রাফ আউটপুট

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

আমার অনুমানটি হ'ল আপনি আত্মবিশ্বাসের ব্যবধানগুলিও অন্তর্ভুক্ত করে চেষ্টা করতে পারেন তবে আমি এটির যথাযথভাবে এটি করার বৈধতা সম্পর্কে নিশ্চিত নই।

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