Jak mogę sprawdzić, czy dwa oszacowania parametrów w tym samym modelu są znacząco różne?

12

Mam model

y=xa×zb+e

gdzie jest zależne zmienne, i mają zmienne objaśniające, i są parametrami i jest uchyb. Mam parametrów szacunki i oraz macierzy kowariancji tych szacunków. Jak zrobić testu I, jeżeli i są znacząco różne?yxzabeabab

K. Roelofs
źródło

Odpowiedzi:

16

Oceniając hipotezę i są różne odpowiada testowaniu hipotezy,abab=0 (na Alternatywnie że ).ab0

Poniższa analiza zakłada, że ​​uzasadnione jest oszacowanie jako Akceptuje również formułę modelu (która często jest rozsądna), która - ponieważ błędy są addytywne (i mogą nawet wytwarzać ujemne obserwowane wartości ) - nie pozwala nam na linearyzację przez przyjęcie logarytmów obu stron.ab

U=a^b^.
yy

Wariancję można wyrazić jako macierz kowariancji dla jakoU(cij)(a^,b^)

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

Gdy jest szacowany z najmniejszych kwadratów, zwykle stosuje się „test t”; to znaczy, rozkład nazwa jest aproksymowany rozkładem Studenta t o stopniach swobody (gdzie jest liczbą danych, a liczbą współczynników ). Niezależnie od tego, zwykle stanowi podstawę każdego testu. Możesz wykonać test Z (gdy jest duże lub gdy dopasowuje się do Maksymalnego prawdopodobieństwa) lub na przykład go uruchomić.(a^,b^)t = U /

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

Aby być konkretnym, wartość p testu t podano przez

p=2tn2(|t|)

gdzie jest funkcją rozkładu t (kumulatywnego) Studenta. Jest to jedno wyrażenie dla „obszaru ogona”: szansa, że ​​zmienna t Studenta ( stopni swobody) jest równa lub przekracza wielkość statystyki testowej,tn2n2|t|.


Mówiąc bardziej ogólnie, dla liczb i możesz zastosować dokładnie to samo podejście do przetestowania dowolnej hipotezyc1, c2,μ

H0:c1a+c2b=μ

przeciw dwustronnej alternatywie. (Obejmuje to specjalny, ale szeroko rozpowszechniony przypadek „kontrastu” .) Użyj oszacowanej macierzy wariancji-kowariancji aby oszacować wariancję i statystyki(cij)U=c1a+c2b

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

Powyższe dotyczy przypadku i(c1,c2)=(1,1)μ=0.


Aby sprawdzić, czy ta rada jest poprawna, uruchomiłem następujący Rkod, aby utworzyć dane zgodnie z tym modelem (z błędami o rozkładzie normalnym e), dopasować je i obliczyć wartości wiele razy. Sprawdzenie polega na tym, że wykres prawdopodobieństwa (na podstawie założonego rozkładu t Studenta) ściśle podąża za przekątną. Oto wykres w symulacji rozmiaru którym (bardzo mały zestaw danych, wybrany, ponieważ rozkład jest daleki od Normalnego) iatt500n=5t= b = - 1 / 2.a=b=1/2.

Wykres prawdopodobieństwa

Przynajmniej w tym przykładzie procedura działa pięknie. Rozważ ponowne uruchomienie symulacji przy użyciu parametrów (odchylenie standardowe błędu) oraz które odzwierciedlają Twoją sytuację.a, b, σn

Oto kod.

#
# 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)
Whuber
źródło
2
To jest doskonałe. Odpowiedź z teorią, z krokami, które należy wykonać, aby powtórzyć dla innych testów, z numerycznym podejściem do przejrzystości i kodem. To jest złoty standard.
SecretAgentMan
1
Znajdę „ The hipotezę, że A i B są różni” niejednoznaczne w swoim zdaniu, ponieważ nie jest jasne, czy to jest zerowy lub hipoteza alternatywna. Pytanie OP wyjaśnia, że ​​szukają dowodów na różnicę, a druga klauzula twojego zdania mówi o tym. Pedagogicznie myślę, że pomaga to nowszym osobom w testowaniu hipotez, które są bardzo jasne. (Ale +1 za odpowiedź ogółem :)
Alexis
1
@Alexis dziękuję - widzę, co mówisz. Ponieważ mam na myśli takich ludzi, wyjaśnię.
whuber