알려진 중단 점을 사용하여 구간 별 선형 회귀에서 기울기의 표준 오차


9

그 상황

하나의 종속 데이터 세트가 있습니다 y 그리고 하나의 독립 변수 x. 나는 연속적인 부분 선형 회귀에 적합하고 싶다.k 알려진 / 고정 된 브레이크 포인트 (a1,a2,,ak). 브레이크 포인은 불확실성이없는 것으로 알려져 있으므로 추정하고 싶지 않습니다. 그런 다음 양식의 회귀 (OLS)에 적합합니다.

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)

중단 점이 있다고 가정 해 봅시다 k1 ~에서 발생하다 9.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.1 첫 번째와 8.50.27 두 번째.

중단 점


질문

  1. 각 세그먼트의 절편과 기울기를 쉽게 계산하는 방법은 무엇입니까? 한 번의 계산으로 모델을 재분석 할 수 있습니까?
  2. 각 세그먼트의 각 기울기의 표준 오차를 계산하는 방법은 무엇입니까?
  3. 인접한 두 경사가 동일한 경사를 갖는지 테스트하는 방법 (즉, 중단 점을 생략 할 수 있는지)?

답변:


7
  1. 각 세그먼트의 절편과 기울기를 쉽게 계산하는 방법은 무엇입니까?

각 세그먼트의 기울기는 모든 계수를 현재 위치까지 간단히 추가하여 계산됩니다. 따라서 경사 추정치x=15 이다 1.1003+1.3760=0.2757.

절편은 조금 더 어렵지만 계수의 선형 조합입니다 (매듭 포함).

귀하의 예에서 두 번째 줄은 첫 번째 줄을 x=9.6빨간색 점은 첫 번째 줄에 있습니다. 21.70571.1003×9.6=11.1428. 두 번째 선이 점을 통과하기 때문에(9.6,11.428) 경사로 0.2757가로 채기 11.14280.2757×9.6=8.496. 물론, 당신은 그 단계들을 합칠 수 있고 그것은 두 번째 세그먼트에 대한 절편으로 바로 단순화됩니다 =β0β2k1=21.70571.3760×9.6.

한 번의 계산으로 모델을 다시 매개 변수화 할 수 있습니까?

글쎄, 그러나 일반적으로 모델에서 계산하는 것이 더 쉽습니다.

2. 각 세그먼트의 각 기울기의 표준 오차를 계산하는 방법은 무엇입니까?

추정치는 회귀 계수의 선형 조합이므로 aβ^, 어디 a 1과 0으로 구성되며 분산은 aVar(β^)a. 표준 오차는 분산과 공분산 항의 합의 제곱근입니다.

예를 들어 귀하의 예에서 두 번째 세그먼트 경사의 표준 오차는 다음과 같습니다.

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)

3. 인접한 두 경사가 동일한 경사를 갖는지 테스트하는 방법 (즉, 중단 점이 생략 될 수 있는지)

이것은 해당 세그먼트의 표에서 계수를 보면 테스트됩니다. 이 줄을보십시오 :

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

이것이 9.6의 경사 변화입니다 . 그 변화가 0과 다르면 두 경사가 동일하지 않습니다. 따라서 두 번째 세그먼트가 첫 번째와 같은 기울기를 갖는 검정의 p- 값은 해당 선의 끝에서 오른쪽입니다.


(+1) 답변 해 주셔서 감사합니다. 그냥 하나의 # 2에 대한 작은 질문 : 내 예제에서는의 분산 공분산 행렬을해야 x하고 I(pmax(x-9.6,0))그 정확?
COOLSerdash

아니요. 귀하의 예를 바탕으로 명시적인 예를 편집했습니다. 자세한 내용은 문의하십시오.
Glen_b-복지 주 모니카

편집 해 주셔서 대단히 감사합니다. 따라서 올바르게 이해합니다. 표준 오류는 각 기울기마다 동일합니까?
COOLSerdash

1
아니요. 절차는 동일하지만 값이 다릅니다. 첫 번째 세그먼트 기울기의 표준 오차는 회귀 테이블 (0.1788)에 있습니다. 두 번째 세그먼트 경사의 표준 오차는 0.1160입니다. 세 번째 세그먼트가 있다면, 제곱근을 취하기 전에 합계에 더 많은 분산-공분산 항이 포함됩니다.
Glen_b-복지 주 모니카

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) 답변 주셔서 감사합니다. 인터셉트와 슬로프를 직접 계산할 수있는 매우 편리한 방법을 제공합니다.
COOLSerdash
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.