স্প্লিংসগুলি সম্ভবত জটিল, অ-রৈখিক কার্যকরী ফর্মগুলির মডেল করতে রিগ্রেশন মডেলিংয়ে ব্যবহৃত হয়। একটি স্প্লিন স্মুটেড ট্রেন্ডটি টুকরোচক ধারাবাহিক বহুবচন নিয়ে গঠিত যার প্রতিটি ব্রেকপয়েন্টে বা গিঁটে শীর্ষস্থানীয় সহগ পরিবর্তন হয়। স্প্লাইনটি ট্রেন্ডের বহুপদী ডিগ্রির পাশাপাশি ব্রেকপয়েন্টগুলির ক্ষেত্রেও নির্দিষ্ট করা যেতে পারে। কোভেরিয়েটের একটি স্প্লাইন উপস্থাপনা পর্যবেক্ষণকৃত মানগুলির একটি একক ভেক্টরকে ম্যাট্রিক্সে প্রসারিত করে যার মাত্রা বহুপদী ডিগ্রি এবং নট সংখ্যা।
একটি পর্যাবৃত্ত splines সংস্করণ নিছক কোনো রিগ্রেশন একটি পর্যাবৃত্ত সংস্করণ: ডেটা সময়ের দৈর্ঘ্য প্রতিলিপি করে কাটা হয়। সুতরাং উদাহরণস্বরূপ, ইঁদুরগুলির উপর একটি মাল্টি-ডে পরীক্ষায় ডিউরানাল ট্রেন্ডের মডেলিংয়ের জন্য পরীক্ষার পুনর্নির্মাণের সময়টি 24 ঘন্টা ইনক্রিমেন্টে প্রয়োজন হবে, তাই 154 তম ঘন্টা 10 (154 = 6 * 24 + 10) এর মডুলো 24 মান হবে। যদি আপনি কাটা ডেটাতে লিনিয়ার রিগ্রেশন ফিট করেন তবে এটি ট্রেন্ডটির জন্য করাত-দাঁত তরঙ্গরূপটি অনুমান করবে। আপনি যদি পিরিয়ডের কোথাও কোনও পদক্ষেপের জন্য ফিট করেন তবে এটি একটি বর্গাকার তরঙ্গরূপ হবে যা এই সিরিজটির সাথে খাপ খায়। স্প্লাইনটি আরও অনেক পরিশীলিত তরঙ্গটি প্রকাশ করতে সক্ষম। splines
প্যাকেজে এটির মূল্য কী, এর জন্য একটি ফাংশন রয়েছে periodicSpline
যা ঠিক এটি করে।
আমি আর-এর ডিফল্ট স্প্লাইন "বিএস" বাস্তবায়ন ব্যাখ্যার জন্য দরকারী মনে করি না। সুতরাং আমি নীচে আমার নিজস্ব স্ক্রিপ্ট লিখেছি। নট দিয়ে ডিগ্রি এর একটি , এই উপস্থাপনাটি প্রথম কলামগুলিকে স্ট্যান্ডার্ড বহুপদী প্রতিনিধিত্ব করে, কলামগুলি ( ) কেবল ) হিসাবে মূল্যায়ন করা হয় যেখানে নটগুলির প্রকৃত ভেক্টর।এন কে পি পি + আই আমি ≤ এন কে এস পি + আই = ( এক্স - কে আই ) পি আই ( এক্স < কে আই ) কেpnkpp+ii≤nkSp+i=(X−ki)pI(X<ki)k
myspline <- function(x, degree, knots) {
knots <- sort(knots)
val <- cbind(x, outer(x, knots, `-`))
val[val < 0] <- 0
val <- val^degree
if(degree > 1)
val <- cbind(outer(x, 1:{degree-1}, `^`), val)
colnames(val) <- c(
paste0('spline', 1:{degree-1}, '.1'),
paste0('spline', degree, '.', seq(length(knots)+1))
)
val
}
সামান্য কেস অধ্যয়নের জন্য, 0 থেকে (বা ) এর মতো ডোমেনে সাইনোসয়েডাল ট্রেন্ডকে বিচ্ছিন্ন করুন :τ2πτ
x <- seq(0, 2*pi, by=pi/2^8)
y <- sin(x)
plot(x,y, type='l')
s <- myspline(x, 2, pi)
fit <- lm(y ~ s)
yhat <- predict(fit)
lines(x,yhat)
আপনি দেখতে পাবেন যে তারা বেশ সম্মিলিত। আরও, নামকরণ সম্মেলন ব্যাখ্যা সক্ষম করে। রিগ্রেশন আউটপুটে আপনি দেখতে পাবেন:
> summary(fit)
Call:
lm(formula = y ~ s)
Residuals:
Min 1Q Median 3Q Max
-0.04564 -0.02050 0.00000 0.02050 0.04564
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.033116 0.003978 -8.326 7.78e-16 ***
sspline1.1 1.268812 0.004456 284.721 < 2e-16 ***
sspline2.1 -0.400520 0.001031 -388.463 < 2e-16 ***
sspline2.2 0.801040 0.001931 414.878 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.02422 on 509 degrees of freedom
Multiple R-squared: 0.9988, Adjusted R-squared: 0.9988
F-statistic: 1.453e+05 on 3 and 509 DF, p-value: < 2.2e-16
আমার স্প্লাইন ১.১-ডিগ্রির জন্য প্রথম সেটটি হ'ল প্রথম ব্রেকেমপয়েন্টের পিছনে প্রথম ডোমেনের বহুপদী প্রবণতা। রৈখিক শব্দটি হ'ল উত্সের স্পর্শকের opeাল, এক্স = 0। এটি প্রায় 1 যা সাইনোসয়েডাল বক্ররেখা (কোস (0) = 1) এর ডেরাইভেটিভ দ্বারা নির্দেশিত হবে, তবে আমাদের অবশ্যই মনে রাখতে হবে যে এগুলি প্রায় অনুমান এবং qu চতুর্ভুজ প্রবণতা বহির্ভূত করার ত্রুটি প্রবণ ত্রুটি। চতুর্ভুজ শব্দটি একটি নেতিবাচক, অবতল আকারকে নির্দেশ করে। স্প্লাইন ২.২ শব্দটি প্রথম চতুর্ভুজ slাল থেকে একটি পার্থক্য নির্দেশ করে, যা 0.4 পজিটিভ শীর্ষস্থানীয় সহগকে একটি anর্ধ্বমুখী, উত্তল আকৃতির নির্দেশ করে। সুতরাং আমরা এখন স্প্লাইন আউটপুট জন্য ব্যাখ্যা উপলব্ধ আছে এবং সেই অনুসারে অনুমান এবং অনুমান বিচার করতে পারেন।π/2
আমি ধরে নিতে যাচ্ছি যে আপনি হাতের কাছে থাকা ডেটারিয়ালটি জানেন। যদি ডেটার বিকাশ বা চলমান গড় উপাদানটির অভাব হয়, তবে আপনি দীর্ঘ সময়ের সিরিজটিকে 1 পিরিয়ডের সময়কালের একটি সংক্ষিপ্ত সিরিজের প্রতিলিপিতে রূপান্তর করতে পারেন। আপনার কাছে এখন প্রতিলিপি রয়েছে এবং পুনরাবৃত্তি প্রবণতাটি অনুমান করতে ডেটা বিশ্লেষণ ব্যবহার করতে পারেন।
ধরুন আমি নিম্নলিখিতটি কিছুটা নিরব, খুব দীর্ঘ সময়ের সিরিজ উত্পন্ন করেছি:
x <- seq(1, 100, by=0.01)
y <- sin(x) + rnorm(length(x), 0, 10)
xp <- x %% (2*pi)
s <- myspline(xp, degree=2, knots=pi)
lm(y ~ s)
ফলাফল আউটপুট যুক্তিসঙ্গত কর্মক্ষমতা দেখায়।
> summary(fit)
Call:
lm(formula = y ~ s)
Residuals:
Min 1Q Median 3Q Max
-39.585 -6.736 0.013 6.750 37.389
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.48266 0.38155 -1.265 0.205894
sspline1.1 1.52798 0.42237 3.618 0.000299 ***
sspline2.1 -0.44380 0.09725 -4.564 5.09e-06 ***
sspline2.2 0.76553 0.18198 4.207 2.61e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 9.949 on 9897 degrees of freedom
Multiple R-squared: 0.006406, Adjusted R-squared: 0.006105
F-statistic: 21.27 on 3 and 9897 DF, p-value: 9.959e-14