আমি stl()
এটির জন্য বিরক্ত করব না - প্রবণতাটি উত্তোলনের জন্য স্বল্প স্মুথারের জন্য ব্যবহৃত ব্যান্ডউইদথ যে আপনি দেখেন ছোট আকারের ওঠানামার ফলে খুব দূরে, ছোট। আমি একটি অ্যাডিটিভ মডেল ব্যবহার করব। স্যামন উডের জিএএমএস বইয়ের ডেটা এবং মডেল কোডটি ব্যবহার করে এখানে একটি উদাহরণ রয়েছে:
require(mgcv)
require(gamair)
data(cairo)
cairo2 <- within(cairo, Date <- as.Date(paste(year, month, day.of.month,
sep = "-")))
plot(temp ~ Date, data = cairo2, type = "l")
প্রবণতা এবং মৌসুমী উপাদানগুলির সাথে একটি মডেল ফিট করুন --- সতর্কতা এটি ধীর:
mod <- gamm(temp ~ s(day.of.year, bs = "cc") + s(time, bs = "cr"),
data = cairo2, method = "REML",
correlation = corAR1(form = ~ 1 | year),
knots = list(day.of.year = c(0, 366)))
লাগানো মডেলটি দেখতে এমন দেখাচ্ছে:
> summary(mod$gam)
Family: gaussian
Link function: identity
Formula:
temp ~ s(day.of.year, bs = "cc") + s(time, bs = "cr")
Parametric coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 71.6603 0.1523 470.7 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Approximate significance of smooth terms:
edf Ref.df F p-value
s(day.of.year) 7.092 7.092 555.407 < 2e-16 ***
s(time) 1.383 1.383 7.035 0.00345 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
R-sq.(adj) = 0.848 Scale est. = 16.572 n = 3780
এবং আমরা এর মাধ্যমে প্রবণতা এবং মরসুমের পদগুলিকে কল্পনা করতে পারি
plot(mod$gam, pages = 1)
এবং যদি আমরা পর্যবেক্ষণ করা ডেটাতে ট্রেন্ডটি প্লট করতে চাই তবে আমরা ভবিষ্যদ্বাণী দিয়ে এর মাধ্যমে এটি করতে পারি:
pred <- predict(mod$gam, newdata = cairo2, type = "terms")
ptemp <- attr(pred, "constant") + pred[,2]
plot(temp ~ Date, data = cairo2, type = "l",
xlab = "year",
ylab = expression(Temperature ~ (degree*F)))
lines(ptemp ~ Date, data = cairo2, col = "red", lwd = 2)
বা প্রকৃত মডেলের জন্য একই:
pred2 <- predict(mod$gam, newdata = cairo2)
plot(temp ~ Date, data = cairo2, type = "l",
xlab = "year",
ylab = expression(Temperature ~ (degree*F)))
lines(pred2 ~ Date, data = cairo2, col = "red", lwd = 2)
এটি কেবল একটি উদাহরণ, এবং আরও গভীর-বিশ্লেষণে কয়েকটি অজানা তথ্য রয়েছে এই বিষয়টি মোকাবেলা করতে পারে তবে উপরেরটি একটি ভাল সূচনা পয়েন্ট হওয়া উচিত।
প্রবণতাটি কীভাবে পরিমাপ করা যায় সে সম্পর্কে আপনার বক্তব্য হিসাবে - ভাল এটি একটি সমস্যা, কারণ প্রবণতা রৈখিক নয়, আপনার stl()
সংস্করণ বা আমি দেখানো জিএএম সংস্করণেও নয়। যদি এটি হয়, আপনি পরিবর্তন হার (opeাল) দিতে পারে। যদি আপনি জানতে চান যে স্যাম্পলিংয়ের সময়কালে অনুমানিত প্রবণতা কতটা পরিবর্তিত হয়েছে, তবে আমরা অন্তর্ভুক্ত করা ডেটা ব্যবহার করতে পারি pred
এবং কেবলমাত্র ট্রেন্ডের উপাদানটিতে সিরিজের শুরু এবং শেষের মধ্যে পার্থক্যটি গণনা করতে পারি :
> tail(pred[,2], 1) - head(pred[,2], 1)
3794
1.756163
সুতরাং রেকর্ড শুরুর চেয়ে তাপমাত্রা গড়ে 1.76 ডিগ্রি উষ্ণ হয়।