পরিচিত ব্রেকপয়েন্টগুলির সাথে টুকরোজ লিনিয়ার রিগ্রেশন inালুগুলির স্ট্যান্ডার্ড ত্রুটি


9

পরিস্থিতি

আমার একটি নির্ভরশীল এবং একটি স্বতন্ত্র ভেরিয়েবল সহ একটি ডেটাসেট রয়েছে । আমি সংঘটিত / ফিক্সড ব্রেকপয়েন্টগুলিতে একটি অবিচ্ছিন্ন টুকরোজ লিনিয়ার রিগ্রেশন ফিট করতে চাই । ব্রেকপোইনগুলি অনিশ্চয়তা ছাড়াই পরিচিত, তাই আমি তাদের অনুমান করতে চাই না। তারপরে আমি এখানে একটি উদাহরণyxk(a1,a2,,ak)

yi=β0+β1xi+β2max(xia1,0)+β3max(xia2,0)++βk+1max(xiak,0)+ϵi
R
set.seed(123)
x <- c(1:10, 13:22)
y <- numeric(20)
y[1:10] <- 20:11 + rnorm(10, 0, 1.5)
y[11:20] <- seq(11, 15, len=10) + rnorm(10, 0, 2)

আসুন ধরে নেওয়া যাক এ ঘটে :k19.6

mod <- lm(y~x+I(pmax(x-9.6, 0)))
summary(mod)

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)          21.7057     1.1726  18.511 1.06e-12 ***
x                    -1.1003     0.1788  -6.155 1.06e-05 ***
I(pmax(x - 9.6, 0))   1.3760     0.2688   5.120 8.54e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

দুটি বিভাগের ইন্টারসেপ্ট এবং : প্রথমটির জন্য এবং এবং দ্বিতীয়টির জন্য যথাক্রমে এবং ।21.71.18.50.27

ব্রেকপয়েন্ট


প্রশ্নাবলি

  1. কীভাবে সহজেই প্রতিটি বিভাগের ইন্টারসেপ্ট এবং opeাল গণনা করতে? এক গণনায় এটি করার জন্য কি মডেলটিকে পুনরায় তৈরি করা যেতে পারে?
  2. কিভাবে প্রতিটি বিভাগের প্রতিটি opeাল স্ট্যান্ডার্ড ত্রুটি গণনা?
  3. দুটি সংলগ্ন opালুগুলির একই opালু আছে কিনা তা পরীক্ষা করতে হবে (যেমন ব্রেকপয়েন্টটি বাদ দেওয়া যায় কিনা)?

উত্তর:


7
  1. কীভাবে সহজেই প্রতিটি বিভাগের ইন্টারসেপ্ট এবং opeাল গণনা করতে?

প্রতিটি বিভাগের slাল গণনা করা হয় কেবল বর্তমান অবস্থানে সমস্ত সহগ যোগ করে। সুতরাং এ প্রাক্কলন ,।x=151.1003+1.3760=0.2757

ইন্টারসেপ্টটি কিছুটা শক্ত, তবে এটি সহগের (রজনীয় জড়িত) একটি রৈখিক সংমিশ্রণ।

আপনার উদাহরণে, দ্বিতীয় লাইনটি প্রথম এ পূরণ করে , তাই লাল পয়েন্টটি প্রথম লাইনে at । যেহেতু দ্বিতীয় লাইন বিন্দু মাধ্যমে প্রেরণ করা ঢাল সঙ্গে , তার পথিমধ্যে হয় । অবশ্যই, আপনি এই পদক্ষেপগুলি একসাথে রাখতে পারেন এবং এটি সরাসরি দ্বিতীয় বিভাগ = ।x=9.621.70571.1003×9.6=11.1428(9.6,11.428)0.275711.14280.2757×9.6=8.496β0β2k1=21.70571.3760×9.6

এক গণনায় এটি করার জন্য কি মডেলটিকে পুনরায় পরিমিত করা যেতে পারে?

ভাল, হ্যাঁ, তবে এটি কেবল মডেল থেকে গণনা করা আরও সহজ।

2. প্রতিটি বিভাগের প্রতিটি opeালের স্ট্যান্ডার্ড ত্রুটিটি কীভাবে গণনা করবেন?

যেহেতু অনুমান রিগ্রেশন কোফিসিয়েন্টস একটি রৈখিক সমন্বয় , যেখানে 1 এর এবং 0 সেঃ নিয়ে গঠিত ভ্যারিয়েন্স হয় । স্ট্যান্ডার্ড ত্রুটি হ'ল বৈচিত্র এবং সমবায় শর্তগুলির যোগফলের বর্গমূল।aβ^aaVar(β^)a

যেমন আপনার উদাহরণস্বরূপ, দ্বিতীয় বিভাগের opeালের আদর্শ ত্রুটিটি হ'ল:

Sb <- vcov(mod)[2:3,2:3]
sqrt(sum(Sb))

বিকল্পভাবে ম্যাট্রিক্স আকারে:

Sb <- vcov(mod)
a <- matrix(c(0,1,1),nr=3)
sqrt(t(a) %*% Sb %*% a)

৩. দুটি সংলগ্ন opালে একই slালু রয়েছে কিনা তা পরীক্ষা করতে হবে (যেমন ব্রেকপয়েন্টটি বাদ দেওয়া যায় কিনা)?

এটি এই বিভাগের সারণীতে সহগ দেখে পরীক্ষা করা হয়। এই লাইনটি দেখুন:

I(pmax(x - 9.6, 0))   1.3760     0.2688   5.120 8.54e-05 ***

এটা ঢাল পরিবর্তন 9.6 এ। যদি পরিবর্তনটি 0 থেকে আলাদা হয় তবে দুটি opালু এক নয়। সুতরাং একটি পরীক্ষার জন্য পি-মানটি যে দ্বিতীয় বিভাগে প্রথম লাইনের শেষে ঠিক ঠিক তেমন slাল রয়েছে।


(+1) আপনার উত্তরের জন্য গ্লেনকে ধন্যবাদ। # 2 সম্পর্কিত কেবল একটি ছোট্ট প্রশ্ন: আমার উদাহরণে আমার ভেরিয়েন্স-কোভারিয়েন্স ম্যাট্রিক্সের প্রয়োজন হবে xএবং I(pmax(x-9.6,0))এটি কি সঠিক?
COOLSerdash

না। আমি আপনার উদাহরণের ভিত্তিতে একটি সুস্পষ্ট উদাহরণ সম্পাদনা করেছি। আপনি যদি আরও বিশদ চান, দয়া করে জিজ্ঞাসা করুন।
গ্লেন_বি -রিনস্টেট মনিকা

সম্পাদনার জন্য আপনাকে অনেক ধন্যবাদ, এটি আমার পক্ষে এটি বেশ কিছুটা স্পষ্ট করে। সুতরাং আমি কি এটি সঠিকভাবে বুঝতে পারি: স্ট্যান্ডার্ড ত্রুটি প্রতিটি opeালের জন্য একই?
COOLSerdash

1
নং পদ্ধতিটি একই তবে মানটি নেই। প্রথম বিভাগের opeালের মানগত ত্রুটিটি আপনার রিগ্রেশন সারণিতে (0.1788)। দ্বিতীয় বিভাগের opeালের আদর্শ ত্রুটি 0.1160। যদি আমাদের তৃতীয় বিভাগ থাকে তবে এটির যোগফল (বর্গমূল তোলার আগে) এর সাথে আরও বৈচিত্র্য-সমবায় শর্তাদি জড়িত।
গ্লেন_বি -রিনস্টেট মনিকা

6

আমার নিষ্পাপ দৃষ্টিভঙ্গি, যা প্রশ্নের উত্তর 1:

mod2 <- lm(y~I((x<9.6)*x)+as.numeric((x<9.6))+
             I((x>=9.6)*x)+as.numeric((x>=9.6))-1)
summary(mod2)

#                        Estimate Std. Error t value Pr(>|t|)    
# I((x < 9.6) * x)        -1.1040     0.2328  -4.743 0.000221 ***
# as.numeric((x < 9.6))   21.7188     1.3099  16.580 1.69e-11 ***
# I((x >= 9.6) * x)        0.2731     0.1560   1.751 0.099144 .  
# as.numeric((x >= 9.6))   8.5442     2.6790   3.189 0.005704 ** 

তবে আমি নিশ্চিত নই যে পরিসংখ্যানগুলি (স্বাধীনতার নির্দিষ্ট ডিগ্রিতে) সঠিকভাবে করা হয়েছে, যদি আপনি এটি এভাবে করেন।


(+1) আপনার উত্তরের জন্য আপনাকে অনেক ধন্যবাদ। এটি সরাসরি ইন্টারসেপ্ট এবং opালু গণনা করার জন্য খুব সুবিধাজনক উপায় সরবরাহ করে, ধন্যবাদ!
COOLSerdash
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.