Прогнозирование дисперсии гетероскедастических данных

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.

Словом, данные состоят из повторных измерений при различных значениях и . Я предполагаю, что эти измерения состоят из «истинного» среднего значения которое является линейной функцией и , с аддитивным гауссовым шумом , стандартное отклонение которого (или дисперсия, Я не решил) также линейно зависит от . (Я мог бы допустить более сложные зависимости от и - нет сильной теоретической мотивации для линейной формы - но я бы не стал слишком усложнять вещи на этом этапе.)y(x,t)xty¯(x,t)xtξ(x,t)x,txt

Я знаю, что поисковым термином здесь является «гетероскедастичность», но все, что я смог найти, это дискуссии о том, как уменьшить / удалить его, чтобы лучше предсказать , но ничего с точки зрения попыток предсказать в терминах независимых переменных. Я хотел бы оценить и с доверительными интервалами (или байесовскими эквивалентами), и если есть простой способ сделать это в SPSS, тем лучше! Что я должен делать? Благодарю.y¯ σy0,a,b,σ0,cd

Майкл
источник
См. Этот связанный вопрос для некоторых ссылок, Дисперсия как функция параметров
Энди W
Вы пробовали GARCH?
Аксакал
Обобщенные линейные модели - это отрасль, которая занимается вашей проблемой. Есть книга с таким же названием, очень рекомендуется.
Диего

Ответы:

1

Я думаю, что ваша первая проблема заключается в том, что больше не является нормальным распределением, и то, как данные должны быть преобразованы в гомоскедастические, зависит именно от того, что такое σ ( x , t ) . Например, если σ ( x , t ) = a x + b t , то ошибка является пропорциональной, и логарифм y-данных должен быть взят перед регрессией, или регрессия, скорректированная с обычного наименьших квадратов (OLS) до взвешенного наименьших квадратов с 1N(0,σ(x,t))σ(x,t)σ(x,t)=ax+bt вес (который изменяет регрессию до минимизированной пропорциональной погрешности типа). Точно так же, если σ ( x , t ) = e a x + b t , нужно будет взять логарифм логарифма и регрессировать.1/y2σ(x,t)=eax+bt

Я думаю, что причина, по которой предсказание типов ошибок плохо освещено, заключается в том, что сначала нужно выполнить любую старую регрессию (стон, обычно обычные наименьшие квадраты, OLS). А из остаточного графика, т. Е. , можно наблюдать остаточную форму, а другой - гистограмму частоты данных и смотреть на это. Затем, если остатки представляют собой веерные балки, открывающиеся справа, можно попробовать пропорциональное моделирование данных, если гистограмма выглядит как экспоненциальный спад, можно попробовать возвратно-поступательное движение, 1 / y и т. Д. Для квадратных корней, возведения в квадрат, возведения в степень , принимая экспоненциально-у.modely1/y

Теперь это только небольшой рассказ. Более длинная версия включает в себя гораздо больше типов регрессии, в том числе регрессию медианы Тейла, двумерную регрессию Деминга и регрессию для минимизации ошибки некорректных задач, которые не имеют особой зависимости соответствия качества от минимизируемой распространяемой ошибки. Это последнее является громадина, но, увидеть этоВ качестве примера. Так что это имеет большое значение, какие ответы каждый пытается получить. Как правило, если кто-то хочет установить связь между переменными, рутинная OLS не является предпочтительным методом, и регрессия Тейла может быть быстрым и грязным улучшением этого. OLS минимизируется только в направлении y, поэтому наклон слишком мал, а пересечение слишком велико, чтобы установить, каковы основные отношения между переменными. Иными словами, OLS дает наименьшую оценку ошибки для y при заданном x, но не дает оценку того, как x изменяется с y. Когда значения r очень высоки (0.99999+), не имеет большого значения, какая регрессия используется, и OLS в y приблизительно такой же, как OLS в x, но, когда значения r низкие, OLS в y очень отличается от МЖС в х.

Таким образом, многое зависит от того, какие именно мотивы в первую очередь мотивировали проведение регрессионного анализа. Это диктует необходимые численные методы. После того, как этот выбор сделан, остатки тогда имеют структуру, которая связана с целью регрессии, и должны быть проанализированы в этом более широком контексте.

деревенщина
источник
0

Команда расширения STATS BREUSCH PAGAN может одновременно проверять невязки на гетероскедастичность и оценивать ее как функцию некоторых или всех регрессоров.

JKP
источник
0

Общий подход к проблемам такого рода - максимизировать (упорядоченную) вероятность ваших данных.

LL(y0,a,b,σ0,c,d)=i=1nlogϕ(yi,y0+axi+bti,σ0+cxi+dti)
ϕ(x,μ,σ)=12πσe(xμ)22σ2

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

Hθnθ^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 ]

Вы можете видеть, что оценки близки к своим истинным значениям, что подтверждает правильность этого моделирования.

Дэвид Дейл
источник