Dalam solusi berikut, saya berasumsi hyperbPi
untuk menjadi . Juga, varian yang digunakan dalam perkiraan di bawah ini hanyalah kesalahan standar kuadrat yang dihitung setelahnya , jadi . Untuk menghitung perkiraan menggunakan metode delta , kita memerlukan turunan parsial dari fungsi transformasi s dan . Fungsi transformasi untuk dan diberikan oleh:
πsummary
hyperbFit
V a r (X) = S E ( X)2gα( ζ, π, δ)gβ( ζ, π, δ)αβ
gα( ζ, π, δ)gβ( ζ, π, δ)=ζ1 +π2-----√δ=ζπδ
Turunan parsial dari fungsi transformasi untuk adalah:
Turunan parsial dari fungsi transformasi untuk adalah:
α∂∂ζgα( ζ, π, δ)∂∂πgα( ζ, π, δ)∂∂δgα( ζ, π, δ)=1 +π2-----√δ=πζ1 +π2-----√δ= -1 +π2-----√ζδ2
β∂∂ζgβ( ζ, π, δ)∂∂πgβ( ζ, π, δ)∂∂δgβ( ζ, π, δ)=πδ=ζδ= -πζδ2
Menerapkan metode delta pada transformasi, kami mendapatkan perkiraan berikut untuk varian (mengambil akar kuadrat untuk mendapatkan kesalahan standar):
Varian yang diperkirakan dari adalah:α
V a r (α)≈1 +π2δ2⋅ V a r ( ζ) +π2ζ2( 1 +π2)δ2⋅ V a r ( π) +( 1 +π2)ζ2δ4⋅ V a r ( δ) +2 × [πζδ2⋅ C o v ( π, ζ) -( 1 +π2) ζδ3⋅ C o v ( δ, ζ) -πζ2δ3⋅ C o v ( δ, π) ]
β
V a r (β) ≈π2δ2⋅ V a r ( ζ) +ζ2δ2⋅ V a r ( π) +π2ζ2δ4⋅ V a r ( δ) +2 × [πζδ2⋅ C o v ( π, ζ) -π2ζδ3⋅ C o v ( δ, ζ) -πζ2δ3⋅ C o v ( π, δ) ]
Pengodean dalam R
Cara tercepat untuk menghitung perkiraan di atas adalah dengan menggunakan matriks. Nyatakan baris vektor yang mengandung turunan parsial dari fungsi transformasi untuk atau sehubungan dengan . Selanjutnya, masing menunjukkan yang varians-kovarians matriks . Matriks kovarians dapat diambil dengan mengetik di mana fungsi yang dipasang. Perkiraan varians adalah
Hal yang sama berlaku untuk perkiraan varians dariDαβζ, π, δΣ3 × 3ζ, π, δvcov(my.hyperbFit)
my.hyperbFit
α
V a r (α)≈DαΣD⊤α
β.
Di R
, ini dapat dengan mudah dikodekan seperti ini:
#-----------------------------------------------------------------------------
# The row vector D of the partial derivatives for alpha
#-----------------------------------------------------------------------------
D.alpha <- matrix(
c(
sqrt(1+pi^2)/delta, # differentiate wrt zeta
((pi*zeta)/(sqrt(1+pi^2)*delta)), # differentiate wrt pi
-(sqrt(1+pi^2)*zeta)/(delta^2) # differentiate wrt delta
),
ncol=3)
#-----------------------------------------------------------------------------
# The row vector D of the partial derivatives for beta
#-----------------------------------------------------------------------------
D.beta <- matrix(
c(
(pi/delta), # differentiate wrt zeta
(zeta/delta), # differentiate wrt pi
-((pi*zeta)/delta^2) # differentiate wrt delta
),
ncol=3)
#-----------------------------------------------------------------------------
# Calculate the approximations of the variances for alpha and beta
# "sigma" denotes the 3x3 covariance matrix
#-----------------------------------------------------------------------------
var.alpha <- D.alpha %*% sigma %*% t(D.alpha)
var.beta <- D.beta %*% sigma %*% t(D.beta)
#-----------------------------------------------------------------------------
# The standard errors are the square roots of the variances
#-----------------------------------------------------------------------------
se.alpha <- sqrt(var.alpha)
se.beta <- sqrt(var.beta)
Menggunakan dancatatan( ζ)catatan( δ)
Jika kesalahan / varian standar hanya tersedia untuk dan alih-alih dan , fungsi transformasi berubah menjadi :
Turunan parsial dari fungsi transformasi untuk adalah:
ζ∗= log( ζ)δ∗= log( δ)ζδ
gα(ζ∗, π,δ∗)gβ(ζ∗, π,δ∗)=exp(ζ∗)1 +π2-----√exp(ζ∗)=exp(ζ∗) πexp(δ∗)
α∂∂ζ∗gα(ζ∗, π,δ∗)∂∂πgα(ζ∗, π,δ∗)∂∂δ∗gα(ζ∗, π,δ∗)=1 +π2-----√exp( -δ∗+ζ∗)=πexp( -δ∗+ζ∗)1 +π2-----√= -1 +π2-----√exp( -δ∗+ζ∗)
Turunan parsial dari fungsi transformasi untuk adalah:
β∂∂ζ∗gβ(ζ∗,π,δ∗)∂∂πgβ(ζ∗,π,δ∗)∂∂δ∗gβ(ζ∗,π,δ∗)= πexp( -δ∗+ζ∗)= exp( -δ∗+ζ∗)= - πexp( -δ∗+ζ∗)
Menerapkan metode
delta ke transformasi, kami mendapatkan perkiraan berikut untuk varian :
αV a r (α)≈(1+π2)exp( - 2δ∗+ 2ζ∗) ⋅ V a r (ζ∗) +π2exp( - 2δ∗+ 2ζ∗)1 +π2⋅ V a r (π)+ ( 1 +π2)exp( - 2δ∗+ 2ζ∗) ⋅ V a r (δ∗) +2 × [ πexp( - 2δ∗+ 2ζ∗) ⋅ C o v ( π,ζ∗) - ( 1 +π2) exp( - 2δ∗+ 2ζ∗) ⋅ C o v (δ∗,ζ∗)- πexp( - 2δ∗+ 2ζ∗) ⋅ C o v (δ∗, π) ]
Varian yang diperkirakan dari adalah:
βV a r (β) ≈π2exp( - 2δ∗+ 2ζ∗) ⋅ V a r (ζ∗) + exp( - 2δ∗+ 2ζ∗) ⋅ V a r ( π) +π2exp( - 2δ∗+ 2ζ∗) ⋅ V a r (δ∗) +2 × [ πexp( - 2δ∗+ 2ζ∗) ⋅ C o v ( π,ζ∗) -π2exp( - 2δ∗+ 2ζ∗) ⋅ C o v (δ∗,ζ∗) - πexp( - 2δ∗+ 2ζ∗) ⋅ C o v (δ∗, π) ]
Pengodean dalam R
2
Kali ini, sigma
menunjukkan matriks kovarians tetapi termasuk varians dan kovariansi untuk dan bukan dan .ζ∗= log( ζ)δ∗= log( δ)ζδ
#-----------------------------------------------------------------------------
# The row vector D of the partial derivatives for alpha
#-----------------------------------------------------------------------------
D.alpha <- matrix(
c(
sqrt(1+pi^2)*exp(-ldelta + lzeta), # differentiate wrt lzeta
((pi*exp(-ldelta + lzeta))/(sqrt(1+pi^2))), # differentiate wrt pi
(-sqrt(1+pi^2)*exp(-ldelta + lzeta)) # differentiate wrt ldelta
),
ncol=3)
#-----------------------------------------------------------------------------
# The row vector D of the partial derivatives for beta
#-----------------------------------------------------------------------------
D.beta <- matrix(
c(
(pi*exp(-ldelta + lzeta)), # differentiate wrt lzeta
exp(-ldelta + lzeta), # differentiate wrt pi
(-pi*exp(-ldelta + lzeta)) # differentiate wrt ldelta
),
ncol=3)
#-----------------------------------------------------------------------------
# Calculate the approximations of the variances for alpha and beta
# "sigma" denotes the 3x3 covariance matrix with log(delta) and log(zeta)
#-----------------------------------------------------------------------------
var.alpha <- D.alpha %*% sigma %*% t(D.alpha)
var.beta <- D.beta %*% sigma %*% t(D.beta)
#-----------------------------------------------------------------------------
# The standard errors are the square roots of the variances
#-----------------------------------------------------------------------------
se.alpha <- sqrt(var.alpha)
se.beta <- sqrt(var.beta)
varcov <- solve(hyperbfitalv$hessian)
. Apakah ini berhasil? Setelah itu, Anda harus memilih sub-matriks yang hanya berisi . Cara termudah yang saya dapat membantu Anda adalah jika Anda memberikan contoh yang berfungsi penuh dengan data (Anda tidak harus memberikan semua data Anda).Kemungkinan duplikat: Kesalahan standar hyperbFit?
Saya berani bertaruh beberapa akun milik orang yang sama ...
sumber