Як я можу перевірити, чи оцінюються два параметри в одній моделі значно?


12

У мене є модель

y=xa×zb+e

де - залежна змінна, і - пояснювальні змінні, і - параметри, а - термін помилки. У мене є оцінки параметрів і і матриця коваріації цих оцінок. Як перевірити, чи і значно відрізняються?yxzabeabab

Відповіді:


16

Оцінка гіпотези про те, що і різні, еквівалентна тестуванню нульової гіпотезиabab=0 (проти альтернативи, що ).ab0

Наступний аналіз передбачає, що ви розумно оцінювати як Він також приймає вашу модельну формулювання (яка часто є розумною), яка - оскільки помилки є адитивною (і навіть може спричинити негативні спостережувані значення ) - не дозволяє нам лінеаризувати її , приймаючи логарифми обох сторін.ab

U=a^b^.
уy

Дисперсія може бути виражено в термінах матриці коваріації з якU(cij)(a^,b^)

Var(U)=Var(a^b^)=Var(a^)+Var(b^)2Cov(a^,b^)=c11+c222c122.

Коли є оцінена з методом найменших квадратів, один , як правило , використовує «T тест;» тобто розподіл апроксимується розподілом Стьюдента t з ступенями свободи (де - кількість даних, а - кількість коефіцієнтів ). Незалежно, зазвичай є основою будь-якого тесту. Ви можете виконати тест Z (коли великий або коли відповідає максимальна ймовірність), або завантажити його, наприклад.(a^,b^)т = U /

t=U/Var(U)
n-2n2tnn2n2tn

Щоб бути конкретним, р-значення t тесту задається через

p=2tn2(|t|)

де - функція розподілу Стьюдента t (кумулятивна). Це один вираз для "області хвоста:" шанс, що змінна Стьюдента t (з ступенів свободи) дорівнює або перевищує розмір тестової статистики,tn2n2|t|.


Більш загально, для чисел та ви можете використовувати абсолютно однаковий підхід для перевірки будь-якої гіпотезиc1, c2,μ

H0:c1a+c2b=μ

проти двосторонньої альтернативи. (Це охоплює особливий, але широко розповсюджений випадок "контрасту" .) Використовуйте оцінену матрицю дисперсії щоб оцінити дисперсію та сформувати статистику(cij)U=c1a+c2b

t=(c1a^+c2b^μ)/Var(U).

Викладене вище - випадок і(c1,c2)=(1,1)μ=0.


Щоб перевірити правильність цієї поради, я запустив наступний Rкод, щоб створити дані відповідно до цієї моделі (з нормально розподіленими помилками e), встановити їх і обчислити значення багато разів. Перевірка полягає в тому, що графік ймовірності (на основі передбачуваного розподілу Стьюдента t) уважно слідує діагоналі. Ось цей графік в симуляції розміром де (дуже невеликий набір даних, обраний тому, що розподіл далекий від нормального) іtt500n=5t= Ь = - 1 / 2.a=b=1/2.

Діаграма ймовірності

У цьому прикладі, принаймні, процедура прекрасно працює. Розгляньте можливість повторного запуску моделювання за допомогою параметрів (стандартне відхилення помилки) та які відображають вашу ситуацію.a, b, σn

Ось код.

#
# Specify the true parameters.
#
set.seed(17)
a <- -1/2
b <- -1/2
sigma <- 0.25 # Variance of the errors
n <- 5        # Sample size
n.sim <- 500  # Simulation size
#
# Specify the hypothesis.
#
H.0 <- c(1, -1) # Coefficients of `a` and `b`.
mu <- 0 
#
# Provide x and z values in terms of their logarithms.
#
log.x <- log(rexp(n))
log.z <- log(rexp(n))
#
# Compute y without error.
#
y.0 <- exp(a * log.x + b * log.z)
#
# Conduct a simulation to estimate the sampling distribution of the t statistic.
#
sim <- replicate(n.sim, {
  #
  # Add the errors.
  #
  e <- rnorm(n, 0, sigma)
  df <- data.frame(log.x=log.x, log.z=log.z, y.0, y=y.0 + e)
  #
  # Guess the solution.
  #
  fit.ols <- lm(log(y) ~ log.x + log.z - 1, subset(df, y > 0))
  start <- coefficients(fit.ols) # Initial values of (a.hat, b.hat)
  #
  # Polish it using nonlinear least squares.
  #
  fit <- nls(y ~ exp(a * log.x + b * log.z), df, list(a=start[1], b=start[2]))
  #
  # Test a hypothesis.
  #
  cc <- vcov(fit)
  s <- sqrt((H.0 %*% cc %*% H.0))
  (crossprod(H.0, coef(fit)) - mu) / s
})
#
# Display the simulation results.
#
summary(lm(sort(sim) ~ 0 + ppoints(length(sim))))
qqplot(qt(ppoints(length(sim)), df=n-2), sim, 
       pch=21, bg="#00000010", col="#00000040",
       xlab="Student t reference value", 
       ylab="Test statistic")
abline(0:1, col="Red", lwd=2)

2
Це чудово. Відповідь з теорією, з кроками, які слід повторити для інших тестів, з числовим підходом для ясності та з кодом. Це золотий стандарт.
SecretAgentMan

1
Я вважаю , « The гіпотезу про те , що і Ь різні» неоднозначні в своєму першому реченні, тому що не ясно, чи є нуль або альтернативна гіпотеза. Питання ОП дає зрозуміти, що вони шукають доказів різниці, і другий пункт вашого речення говорить про це. Педагогічно я думаю, що це допомагає людям, які переглядають гіпотези, більш чіткими. (Але +1 за вашу відповідь загалом :)
Алексіс

1
@ Алексис дякую - я бачу, що ти кажеш. Оскільки я маю на увазі таких людей, я уточню.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.