Vorhersage der Varianz heteroskedastischer Daten


15

Ich versuche, eine Regression auf heteroskedastischen Daten durchzuführen, wobei ich versuche , die Fehlervarianzen sowie die Mittelwerte in Form eines linearen Modells vorherzusagen . Etwas wie das:

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.

In Worten bestehen die Daten aus wiederholten Messungen von bei verschiedenen Werten von und . Ich nehme an, diese Messungen bestehen aus einem "wahren" Mittelwert der eine lineare Funktion von und , mit additivem Gaußschen Rauschen dessen Standardabweichung (oder Varianz, Ich habe mich nicht entschieden) hängt auch linear von . (Ich könnte kompliziertere Abhängigkeiten von und zulassen - es gibt keine starke theoretische Motivation für eine lineare Form - aber ich möchte die Dinge in dieser Phase lieber nicht überkomplizieren.)x t ˉ y ( x , t ) x t ξ ( x , t ) x , t x ty(x,t)xty¯(x,t)xtξ(x,t)x,txt

Ich weiß, dass der Suchbegriff hier "Heteroskedastizität" ist, aber alles, was ich bisher finden konnte, sind Diskussionen darüber, wie ich es reduzieren / entfernen kann, um besser vorherzusagen , aber nichts in Bezug auf den Versuch , vorherzusagen in Bezug auf die unabhängigen Variablen. Ich möchte und mit Konfidenzintervallen (oder Bayes'schen Äquivalenten) und wenn es eine einfache Möglichkeit gibt, dies in SPSS zu tun, umso besser! Was soll ich machen? Vielen Dank.y¯ y 0 , a , b , σ 0 , c dσy0,ein,b,σ0,cd


Siehe diese verwandte Frage für einige Referenzen, Varianz als Funktion von Parametern
Andy W

Hast du GARCH ausprobiert?
Aksakal

Verallgemeinerte lineare Modelle ist der Zweig, der sich mit Ihrem Problem befasst. Es gibt ein Buch mit dem gleichen Titel, sehr zu empfehlen.
Diego

Antworten:


1

Ich denke, Ihr erstes Problem ist, dass keine normale Verteilung mehr ist, und wie die Daten transformiert werden müssen, um homoskedastisch zu sein, hängt genau von dem ab, was ist. Wenn beispielsweise , ist der Fehler proportional und der Logarithmus der y-Daten sollte vor der Regression genommen werden oder die Regression aus gewöhnlichen kleinsten Quadraten (OLS) angepasst werden ) zu gewichteten kleinsten Quadraten mit einer Gewichtung (die die Regression in einen minimierten proportionalen Typfehler ändert). In ähnlicher Weise müsste man , wenn , den Logarithmus des Logarithmus nehmen und diesen zurückführen.N(0,σ(x,t))σ(x,t)σ(x,t)=ax+bt1/y2σ(x,t)=eax+bt

Ich denke, der Grund, warum die Vorhersage von Fehlertypen schlecht abgedeckt ist, ist, dass man zuerst eine alte Regression durchführt (Stöhnen, typisch gewöhnliche kleinste Quadrate, OLS). Und aus der Residuendiagramm, dh , beobachtet man die Residuendiagrammform, und man zeichnet das Frequenzhistogramm der Daten und schaut sich das an. Wenn die Residuen ein nach rechts öffnender Fächerstrahl sind, versucht man eine proportionale Datenmodellierung. Wenn das Histogramm wie ein exponentieller Zerfall aussieht, kann man eine Reziprokation versuchen, usw. für Quadratwurzeln, Quadrieren, Potenzieren , unter Exponential-y.modely1/y

Nun, das ist nur die Kurzgeschichte. Die längere Version enthält sehr viel mehr Arten von Regressionen, einschließlich der Theil-Median-Regression, der Deming-Bivariate-Regression und der Regression zur Minimierung von Fehlern schlecht gestellter Probleme, die keine besondere Beziehung zwischen der Kurvengüte und dem zu minimierenden Propagationsfehler aufweisen. Das letzte ein Whopper, aber finden Sie dieseals Beispiel. Damit es einen großen Unterschied macht, welche Antworten man zu erhalten versucht. Wenn man eine Beziehung zwischen Variablen herstellen möchte, ist Routine-OLS normalerweise nicht die Methode der Wahl, und Theil-Regression wäre eine schnelle und schmutzige Verbesserung. OLS wird nur in y-Richtung minimiert, daher ist die Steigung zu flach und der Achsenabschnitt zu groß, um die zugrunde liegende Beziehung zwischen den Variablen zu bestimmen. Anders ausgedrückt, OLS gibt eine Schätzung des kleinsten Fehlers von ay bei einem x an. Es gibt keine Schätzung, wie sich x mit y ändert. Wenn die r-Werte sehr hoch sind (0,99999+), spielt es keine Rolle, welche Regression man verwendet und OLS in y ist ungefähr gleich wie OLS in x, aber wenn die r-Werte niedrig sind, unterscheidet sich OLS in y sehr von OLS in x.

Zusammenfassend hängt vieles davon ab, was genau die Motivation ist, die Regressionsanalyse überhaupt durchzuführen. Das bestimmt die benötigten numerischen Methoden. Nachdem diese Auswahl getroffen wurde, haben die Residuen eine Struktur, die mit dem Zweck der Regression zusammenhängt, und müssen in diesem größeren Kontext analysiert werden.


0

Der Erweiterungsbefehl STATS BREUSCH PAGAN kann sowohl Reste auf Heteroskedastizität testen als auch als Funktion einiger oder aller Regressoren abschätzen.


0

Der allgemeine Ansatz für Probleme dieser Art besteht darin, die (regularisierte) Wahrscheinlichkeit Ihrer Daten zu maximieren .

LL(y0,ein,b,σ0,c,d)=ich=1nLogϕ(yich,y0+einxich+btich,σ0+cxich+dtich)
ϕ(x,μ,σ)=12πσe-(x-μ)22σ2

θ^θ=(y0,ein,b,σ0,c,d)

Hθnθ^H-1

Hier ist ein Beispielcode in 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)

σσ10-10

Das vom Code erzeugte Ergebnis (Parameterschätzungen und ihre Standardfehler) ist:

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

Sie sehen, dass die Schätzungen nahe an ihren wahren Werten liegen, was die Richtigkeit dieser Simulation bestätigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.