이 분산 데이터의 분산 예측


15

이 분산 데이터에 대해 회귀 분석을 시도하고 있는데, 여기서 선형 편차로 평균 오차뿐만 아니라 오차 분산도 예측 하려고합니다 . 이 같은:

y(x,t)=y¯(x,t)+ξ(x,t),ξ(x,t)N(0,σ(x,t)),y¯(x,t)=y0+ax+bt,σ(x,t)=σ0+cx+dt.

즉, 데이터는 xt 의 다양한 값에서 y (x, t) 의 반복 측정으로 구성됩니다 . I는 측정치가 "true"로 평균값 구성 가정 \ 바 {Y} (X, t) 의 선형 함수이고 , Xt 부가 가우시안 노이즈, \ XI (X, t) , 그 표준 편차 (또는 분산 나는 결정하지 않았다) 또한 x, t 에 선형 적으로 의존한다 . (나는 xt 에 대한 더 복잡한 의존성을 허용 할 수 있다 – 선형 형태에 대한 강한 이론적 동기는 없지만 –이 단계에서 사물을 지나치게 복잡하게 만들지는 않을 것이다.)와이(엑스,)엑스와이¯(엑스,)엑스ξ(엑스,)엑스,엑스

나는 "이 분산"여기에 검색 용어는 알고 있지만 모두가 지금까지 더 나은 예측을 제거 / 감소하는 방법에 대한 논의이다 찾을 수있었습니다 와이¯ ,하지만 아무것도 노력의 측면에서 예측 σ 독립 변수의 관점에서. 신뢰 구간 (또는 베이지안 등가)으로 와이0,,,σ0,d 를 추정하고 싶습니다 .SPSS에서 쉽게 수행 할 수있는 방법이 있다면 훨씬 더 좋습니다! 어떻게해야합니까? 감사.


일부 참고 문헌이 관련 질문을 참조 매개 변수의 함수로 분산
앤디 W를

GARCH를 사용해 보셨습니까?
Aksakal

일반화 선형 모형은 문제를 다루는 지점입니다. 제목이 같은 책이 매우 권장됩니다.
Diego

답변:


1

첫 번째 문제는 가 더 이상 정규 분포가 아니며 데이터를 균질하게 변환하는 방법이 정확히 입니다. 예를 들어, 인 경우 오류는 비례 유형이며 y 데이터의 로그는 회귀 이전에 가져 오거나 회귀는 일반 최소 제곱 (OLS)에서 조정해야합니다 )에 가중치의 최소 제곱 가중치 를 적용합니다 (회귀를 최소화 된 비례 유형 오류로 변경). 마찬가지로 이면 로그의 로그를 가져 와서 회귀해야합니다.(0,σ(엑스,))σ(엑스,)σ(엑스,)=엑스+1/와이2σ(엑스,)=이자형엑스+

오류 유형의 예측이 제대로 적용되지 않는 이유는 먼저 오래된 회귀 (일반적으로 최소 제곱, OLS)를 수행하기 때문입니다. 그리고 잔차 그림에서, 즉 는 잔차 모양을 관찰하고, 데이터의 주파수 히스토그램을 그리고이를 살펴 봅니다. 그런 다음 잔차가 오른쪽으로 열리는 팬 빔인 경우 비례 데이터 모델링을 시도합니다. 히스토그램이 지수 붕괴처럼 보이면 제곱근, 제곱, 지수에 대해 왕복 운동, 등을 시도 할 수 있습니다. , 지수 -y를 취하십시오.미디엄영형이자형와이1/와이

이제, 그것은 짧은 이야기 일뿐입니다. 더 긴 버전에는 Theil median regression, Deming bivariate regression, 회귀 오류에 대한 특별한 곡선 관계가없는 잘못된 문제의 오류 최소화를위한 회귀를 포함하여 훨씬 더 많은 유형의 회귀가 포함됩니다. 마지막 하나는 허풍이다, 그러나, 볼 예로서. 그래서 답변을 얻는 것이 큰 차이를 만듭니다. 일반적으로 변수 사이의 관계를 설정하려는 경우 일상적인 OLS는 선택 방법이 아니며 Theil 회귀는 그에 대한 빠르고 더러운 개선입니다. OLS는 y 방향으로 만 최소화되므로 기울기가 너무 얕고 절편이 너무 커서 변수 간의 기본 관계를 설정할 수 없습니다. 달리 말하면, OLS는 x가 주어진 경우 y의 최소 오차 추정치를 제공하지만, x 가 y로 어떻게 변하는 지 추정 하지는 않습니다 . r- 값이 매우 높을 때 (0.99999+) 회귀 분석과 y의 OLS는 x의 OLS와 거의 동일하지만 r 값이 낮을 때 y의 OLS는 매우 다릅니다 x의 OLS

요약하면, 회귀 분석을 수행 한 동기가 무엇인지 추론이 정확히 무엇인지에 달려 있습니다. 그것은 필요한 수치 적 방법을 지시합니다. 그런 다음 잔차는 회귀의 목적과 관련된 구조를 가지며 더 큰 맥락에서 분석해야합니다.


0

STATS BREUSCH PAGAN 확장 명령은 이분산성에 대한 잔차를 테스트하고 회귀 기의 일부 또는 전부의 함수로 추정 할 수 있습니다.


0

이런 종류의 문제에 대한 일반적인 접근 방식은 데이터 의 (정규화 된) 가능성최대화하는 것 입니다.

귀하의 경우 로그 우도는 여기서

(와이0,,,σ0,,)=나는=1로그ϕ(와이나는,와이0+엑스나는+나는,σ0+엑스나는+나는)
ϕ(엑스,μ,σ)=12πσ이자형(엑스μ)22σ2

이 표현식을 선호하는 통계 패키지의 함수로 코딩 할 수 있습니다 (SPSS에서 프로그래밍을 한 적이 없기 때문에 Python, R 또는 Stata를 선호합니다). 그런 다음이를 수치 최적화 프로그램에 제공하면 매개 변수 최적 값 이 추정됩니다 .θ^θ=(와이0,,,σ0,,)

신뢰 구간이 필요한 경우이 옵티마이 저는 최적의 주변에서 (2 차 도함수) 의 헤 시안 행렬 를 추정 할 수도 있습니다 . 최대 우도 추정 이론에 따르면 큰 공분산 행렬의 경우 는 로 추정 될 수 있습니다 .Hθθ^H1

다음은 Python의 예제 코드입니다.

import scipy
import numpy as np

# generate toy data for the problem
np.random.seed(1) # fix random seed
n = 1000 # fix problem size
x = np.random.normal(size=n)
t = np.random.normal(size=n)
mean = 1 + x * 2 + t * 3
std = 4 + x * 0.5 + t * 0.6
y = np.random.normal(size=n, loc=mean, scale=std)

# create negative log likelihood
def neg_log_lik(theta):
    est_mean = theta[0] + x * theta[1] + t * theta[2]
    est_std = np.maximum(theta[3] + x * theta[4] + t * theta[5], 1e-10)
    return -sum(scipy.stats.norm.logpdf(y, loc=est_mean, scale=est_std))

# maximize
initial = np.array([0,0,0,1,0,0])
result = scipy.optimize.minimize(neg_log_lik, initial)
# extract point estimation
param = result.x
print(param)
# extract standard error for confidence intervals
std_error = np.sqrt(np.diag(result.hess_inv))
print(std_error)

문제 공식화가 음의 생성 할 수 있으며 , 너무 작은 를 으로 무차별 대입하여 자신을 방어해야합니다 .σσ1010

코드에 의해 생성 된 결과 (모수 추정치 및 표준 오류)는 다음과 같습니다.

[ 0.8724218   1.75510897  2.87661843  3.88917283  0.63696726  0.5788625 ]
[ 0.15073344  0.07351353  0.09515104  0.08086239  0.08422978  0.0853192 ]

추정값이 실제 값에 가깝다는 것을 알 수 있으며이 시뮬레이션의 정확성을 확인합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.