Menilai hipotesis bahwa dan berbeda sama dengan menguji hipotesis nolaba−b=0 (terhadap alternatif yang ).a−b≠0
Analisis berikut ini menganggap wajar bagi Anda untuk memperkirakan sebagai Ia juga menerima formulasi model Anda (yang seringkali masuk akal), yang - karena kesalahannya bersifat aditif (dan bahkan bisa menghasilkan nilai observasi negatif ) - tidak mengizinkan kami untuk membuat garis itu dengan mengambil logaritma dari kedua belah pihak.a−bU=a^−b^.
yy
Varians dari dapat diekspresikan dalam bentuk matriks kovarians dari sebagaiU(cij)(a^,b^)
Var(U)=Var(a^−b^)=Var(a^)+Var(b^)−2Cov(a^,b^)=c11+c22−2c212.
Ketika adalah diperkirakan dengan kuadrat, satu biasanya menggunakan "uji t;" yaitu, distribusi diperkirakan oleh distribusi t Student dengan derajat kebebasan (di mana adalah jumlah data dan menghitung jumlah koefisien) ). Apapun, biasanya merupakan dasar dari setiap tes. Anda dapat melakukan tes Z (ketika besar atau ketika pas dengan Kemungkinan Maksimum) atau bootstrapnya, misalnya.(a^,b^)t = U / √t=U/Var(U)−−−−−−√
n-2n2tnn−2n2tn
Untuk lebih spesifik, nilai p dari uji t diberikan oleh
p=2tn−2(−|t|)
di mana adalah fungsi distribusi Student t (kumulatif). Ini adalah satu ungkapan untuk "area ekor:" kesempatan bahwa variabel t Student (dari derajat kebebasan) sama dengan atau melebihi ukuran statistik uji,tn−2n−2|t|.
Secara umum, untuk angka dan Anda dapat menggunakan pendekatan yang persis sama untuk menguji hipotesis apa punc1, c2,μ
H0:c1a+c2b=μ
terhadap alternatif dua sisi. (Ini mencakup kasus "kontras" khusus tetapi luas .) Gunakan matriks varians-kovarians yang diperkirakan untuk memperkirakan varians dari dan membentuk statistik(cij)U=c1a+c2b
t=(c1a^+c2b^−μ)/Var(U)−−−−−−√.
Di atas adalah case dan(c1,c2)=(1,−1)μ=0.
Untuk memeriksa apakah saran ini benar, saya menjalankan Rkode berikut untuk membuat data sesuai dengan model ini (dengan kesalahan yang terdistribusi secara normal e), cocok dengan mereka, dan menghitung nilai berkali-kali. Ceknya adalah bahwa plot probabilitas (berdasarkan distribusi t Student yang diasumsikan) erat mengikuti diagonal. Berikut adalah plot dalam simulasi ukuran mana (dataset yang sangat kecil, dipilih karena distribusi jauh dari Normal) dantt500n=5ta=b=−1/2.

Dalam contoh ini, setidaknya, prosedur ini bekerja dengan baik. Pertimbangkan untuk menjalankan kembali simulasi menggunakan parameter (standar deviasi kesalahan), dan yang mencerminkan situasi Anda.a, b, σn
Ini kodenya.
#
# 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)