özet
En küçük kareler regresyonunun karmaşık değerli değişkenlere genellemesi basittir; temel olarak normal matris formüllerinde eşlenik transpozitlerle matris transpozisyonlarının değiştirilmesinden oluşur. Yine de karmaşık değerli bir regresyon, standart (gerçek değişken) metotlar kullanarak çözüm elde etmek çok daha zor olan karmaşık bir çok değişkenli çoklu regresyona tekabül eder. Bu nedenle, karmaşık değerli model anlamlı olduğunda, bir çözüm elde etmek için karmaşık aritmetik kullanılması şiddetle önerilir. Bu cevap ayrıca, verileri görüntülemek ve uyumun teşhis alanlarını sunmak için önerilen bazı yolları da içerir.
Basit olması için, yazılabilecek normal (tek değişkenli) regresyon vakasını tartışalım.
zj=β0+β1wj+εj.
Bağımsız değişkenini ve geleneksel bağımlı değişkenini adlandırma özgürlüğünü kullandım (bkz. Örneğin Lars Ahlfors, Karmaşık Analiz ). Tüm bunlar, çoklu regresyon ayarına genişletmek için basittir.ZWZ
yorumlama
Bu model, kolayca görsel geometrik yorumu vardır: tarafından çarpma olacaktır rescale modülü tarafından ve döndürmek argümanı ile kökeni etrafında . Daha sonra eklenmesi sonucu bu miktarda çevirir. etkisi bu çeviriyi biraz "titremektir". Böylece, gerileme üzerinde bu şekilde 2D puan toplama anlamak için çaba 2D puan takımyıldızı kaynaklanan olarakw j β 1 β 1 β 0 ε j z j w j ( z j ) ( w j )β1 wjβ1β1β0εjzjwj(zj)(wj)Böyle bir dönüşümle süreçte bir hataya izin verir. Bu, aşağıda "Dönüşüm Olarak Sığdır" başlıklı şekilde gösterilmiştir.
Yeniden ölçeklendirme ve rotasyonun sadece düzlemin herhangi bir doğrusal dönüşümü olmadığını unutmayın: örneğin çarpık dönüşümleri dışlar. Dolayısıyla bu model dört parametreli iki değişkenli çoklu regresyon ile aynı değildir.
Sıradan en küçük kareler
Karmaşık olayı gerçek olaya bağlamak için, yazalım
zj=xj+iyj bağımlı değişkenin değerleri için ve
wj=uj+ivjbağımsız değişkenin değerleri için .
Ayrıca, parametreleri yazmak için
β 1 = γ 1 + i δ 1β0=γ0+iδ0 ve . β1=γ1+iδ1
Girilen yeni terimlerin her biri elbette gerçektir ve hayalidir; ise verileri indeksler.j = 1 , 2 , ... , ni2=−1j=1,2,…,n
OLS , sapmaların karelerinin toplamını en aza indiren ve bulur , β 1β^0β^1
∑j=1n||zj−(β^0+β^1wj)||2=∑j=1n(z¯j−(β^0¯+β^1¯w¯j))(zj−(β^0+β^1wj)).
Resmen bu normal matris formülasyonuyla aynıdır: onu Bulduğumuz tek fark tasarım matris devrik olmasıdır ile değiştirilmiştir eşlenik devrik . Sonuç olarak , resmi matris çözümüX ′ X ∗ = ˉ X ′(z−Xβ)′(z−Xβ).X′ X∗=X¯′
β^=(X∗X)−1X∗z.
Aynı zamanda, bunu tamamen gerçek değişken bir soruna dökerek neyin başarılabileceğini görmek için, OLS hedefini gerçek bileşenler açısından yazabiliriz:
∑j=1n(xj−γ0−γ1uj+δ1vj)2+∑j=1n(yj−δ0−δ1uj−γ1vj)2.
Açıktır ki, bu iki temsil bağlı gerçek regresyon: bunlardan biri geriler üzerinde ve , diğer geriler ile ilgili ve ; ve gerektirir katsayı negatif olmak için katsayısı ve için katsayısı eşit katsayısının . Üstelik toplamı çünküu v y u v v X u y u x v Y x yxuvyuvvxuyuxvyİki regresyondaki artıkların kareleri en aza indirilecektir, genellikle katsayı kümesinin yalnızca veya için en iyi tahmini vermesi söz konusu olmaz . Bu, iki gerçek gerilemeyi ayrı ayrı gerçekleştiren ve çözümlerini karmaşık gerileme ile karşılaştıran aşağıdaki örnekte onaylanmıştır.xy
Bu analiz, karmaşık regresyonun gerçek parçalara göre yeniden yazılmasının (1) formülleri karmaşıklaştırdığını, (2) basit geometrik yorumu gizlemesinin ve (3) genelleştirilmiş bir çok değişkenli çoklu regresyon gerektireceğini (değişkenler arasında önemsiz korelasyonlar gerektireceğini) açıkça ortaya koymaktadır. ) çözmek için. Daha iyisini yapabiliriz.
Örnek
Örnek olarak, karmaşık düzlemde orijin yakınındaki integral noktalarında bir değerleri ızgarası alıyorum . Dönüştürülen değerlere eklenir, iki değişkenli Gauss dağılımına sahip iid hataları: özellikle hataların gerçek ve hayali kısımları bağımsız değildir.w βwwβ
Karmaşık değişkenler için normal dağılım çizmek zordur , çünkü dört boyutlu noktalardan oluşacaktır. Bunun yerine saçılım grafiği matrisini gerçek ve hayali parçalarının üzerinden görebiliriz.(wj,zj)
Şimdilik uyumu göz ardı edin ve ilk dört satır ve dört sol sütuna bakın: bunlar verileri görüntüler. Dairesel ızgara sol üst belirgindir; sahip olduğu puan. bileşenlerinin bileşenlerine karşı saçılma noktaları açık korelasyonlar göstermektedir. Üçünün negatif korelasyonu var; sadece ( hayali kısmı ) ve ( gerçek kısmı ) pozitif olarak ilişkilidir.81 w z y z u ww81wzyzuw
Bu veriler için, gerçek değeri . bir genleşmeyi ve 120 derecelik bir saat yönünün tersine dönmesini, ardından birimin sola ve birimin yukarıya çevrilmesini temsil eder . Üç uyumu hesaplarım: Karmaşık en küçük kareler çözümü ve karşılaştırma için ve için iki OLS çözümü .( - 20 + 5 i , - 3 / 4 + 3 / 4 √β3/2205(xj)(yj)(−20+5i,−3/4+3/43–√i)3/2205(xj)(yj)
Fit Intercept Slope(s)
True -20 + 5 i -0.75 + 1.30 i
Complex -20.02 + 5.01 i -0.83 + 1.38 i
Real only -20.02 -0.75, -1.46
Imaginary only 5.01 1.30, -0.92
Her zaman gerçek-gerçek kesişimin, karmaşık kesişmenin gerçek kısmı ile aynı fikirde olduğu ve sadece-hayali kesişmenin karmaşık kesişimin hayali kısmı ile aynı fikirde olduğu durumda olacaktır. Yine de, yalnızca gerçek ve yalnızca hayali eğimlerin, tam olarak öngörüldüğü gibi, karmaşık eğim katsayıları veya birbirleriyle aynı fikirde olmadığı anlaşılmaktadır.
Karmaşık uyumun sonuçlarına daha yakından bir göz atalım. İlk olarak, artıkların bir grafiği, iki değişkenli Gauss dağılımının bir göstergesidir. (Altta yatan dağılımın marjinal standart sapması ve korelasyonu vardır .) Ardından, artıkların büyüklüklerini (dairesel sembollerin boyutları ile temsil edilir) ve argümanlarını (ilk grafikte olduğu gibi renkler ile temsil edilir) çizebiliriz. takılan değerlere karşı: bu arsa rastgele bir boyut ve renk dağılımı gibi görünmelidir.0.820.8
Son olarak, uyumu birkaç şekilde gösterebiliriz. Uygunluk, dağılım grafiği matrisinin ( qv ) son satırlarında ve sütunlarında göründü ve bu noktada daha yakından bir incelemeye değer olabilir. Sol altta, uyarlar açık mavi daireler şeklinde çizilir ve oklar (artıkları temsil eder) bunları düz kırmızı daireler olarak gösterilen verilere bağlar. Sağda argümanlarına karşılık gelen renklerle doldurulmuş açık siyah daireler olarak gösterilir; bunlar karşılık gelen değerlerine oklarla bağlanır . Her bir okun orijin etrafında 2'lik bir genişleme , derece döndürme ve çevirme, artı bu iki değişkenli Guassian hatasını temsil ettiğini hatırlayın.( Z j ) 3 / 2 120 ( - 20 , 5 )(wj)(zj)3/2120(−20,5)
Bu sonuçlar, grafikler ve diyagnostik grafikler, karmaşık regresyon formülünün doğru çalıştığını ve değişkenlerin gerçek ve hayali bölümlerinin ayrı doğrusal regresyonlarından farklı bir şey elde ettiğini göstermektedir.
kod
R
Kod verisi, uyuyor yaratmak ve araziler altında görünür. gerçek çözümünün tek bir kod satırında elde edildiğine dikkat edin. Olağan en küçük kareler çıktısını elde etmek için ek çalışma - ancak çok fazla değil - gerekli: varyansın kovaryans matrisi, standart hatalar, p değerleri vb.β^
#
# Synthesize data.
# (1) the independent variable `w`.
#
w.max <- 5 # Max extent of the independent values
w <- expand.grid(seq(-w.max,w.max), seq(-w.max,w.max))
w <- complex(real=w[[1]], imaginary=w[[2]])
w <- w[Mod(w) <= w.max]
n <- length(w)
#
# (2) the dependent variable `z`.
#
beta <- c(-20+5i, complex(argument=2*pi/3, modulus=3/2))
sigma <- 2; rho <- 0.8 # Parameters of the error distribution
library(MASS) #mvrnorm
set.seed(17)
e <- mvrnorm(n, c(0,0), matrix(c(1,rho,rho,1)*sigma^2, 2))
e <- complex(real=e[,1], imaginary=e[,2])
z <- as.vector((X <- cbind(rep(1,n), w)) %*% beta + e)
#
# Fit the models.
#
print(beta, digits=3)
print(beta.hat <- solve(Conj(t(X)) %*% X, Conj(t(X)) %*% z), digits=3)
print(beta.r <- coef(lm(Re(z) ~ Re(w) + Im(w))), digits=3)
print(beta.i <- coef(lm(Im(z) ~ Re(w) + Im(w))), digits=3)
#
# Show some diagnostics.
#
par(mfrow=c(1,2))
res <- as.vector(z - X %*% beta.hat)
fit <- z - res
s <- sqrt(Re(mean(Conj(res)*res)))
col <- hsv((Arg(res)/pi + 1)/2, .8, .9)
size <- Mod(res) / s
plot(res, pch=16, cex=size, col=col, main="Residuals")
plot(Re(fit), Im(fit), pch=16, cex = size, col=col,
main="Residuals vs. Fitted")
plot(Re(c(z, fit)), Im(c(z, fit)), type="n",
main="Residuals as Fit --> Data", xlab="Real", ylab="Imaginary")
points(Re(fit), Im(fit), col="Blue")
points(Re(z), Im(z), pch=16, col="Red")
arrows(Re(fit), Im(fit), Re(z), Im(z), col="Gray", length=0.1)
col.w <- hsv((Arg(w)/pi + 1)/2, .8, .9)
plot(Re(c(w, z)), Im(c(w, z)), type="n",
main="Fit as a Transformation", xlab="Real", ylab="Imaginary")
points(Re(w), Im(w), pch=16, col=col.w)
points(Re(w), Im(w))
points(Re(z), Im(z), pch=16, col=col.w)
arrows(Re(w), Im(w), Re(z), Im(z), col="#00000030", length=0.1)
#
# Display the data.
#
par(mfrow=c(1,1))
pairs(cbind(w.Re=Re(w), w.Im=Im(w), z.Re=Re(z), z.Im=Im(z),
fit.Re=Re(fit), fit.Im=Im(fit)), cex=1/2)