การวิเคราะห์ด้วยข้อมูลที่ซับซ้อนมีอะไรที่แตกต่างกันอย่างไร


31

พูดเช่นคุณกำลังทำโมเดลเชิงเส้น แต่ข้อมูลนั้นซับซ้อนy

y=xβ+ϵ

ชุดข้อมูลของฉันมีความซับซ้อนในขณะที่ตัวเลขทั้งหมดในที่มีรูปแบบBI) มีขั้นตอนใดบ้างที่แตกต่างเมื่อทำงานกับข้อมูลดังกล่าว?y(a+bi)

ฉันถามเพราะคุณจะได้รับการฝึกอบรมความแปรปรวนร่วมที่ซับซ้อนและสถิติการทดสอบที่มีมูลค่าซับซ้อน ..

คุณจำเป็นต้องใช้การผันแบบคอนจูเกตแทนการแปลงสัญญาณเมื่อทำกำลังสองน้อยที่สุดหรือไม่? ค่าความแปรปรวนร่วมที่ซับซ้อนมีความหมายอะไร?


3
พิจารณาจำนวนเชิงซ้อนเป็นตัวแปรแยกกันสองตัวและวิธีนั้นลบ i ออกจากสมการทั้งหมดของคุณ มิฉะนั้นมันจะเป็นฝันร้าย ...
sashkello

ข้อมูลใด ๆ เกี่ยวกับหรือ ? βxβ
Stijn

3
@Sashkello "ฝันร้าย" คืออะไร? มิติข้อมูลจะลดลงครึ่งหนึ่งเมื่อคุณใช้ตัวเลขที่ซับซ้อนดังนั้นจึงเป็นเรื่องที่ทำให้เข้าใจง่าย นอกจากนี้คุณได้เปิดbivariate DV เป็นunivariate DV ซึ่งเป็นประโยชน์มาก PeterRabbit: ใช่ต้องใช้การผันแบบคอนจูเกต เมทริกซ์ความแปรปรวนร่วมที่ซับซ้อนคือ Hermitean เป็นบวกแน่นอน เช่นเดียวกับของจริงมันยังคงมีค่าลักษณะเฉพาะที่เป็นบวกซึ่งตอบโจทย์ของความหมาย
whuber

2
@ โฮเบอร์มันไม่สมเหตุสมผลเลยสำหรับฉันที่จะใช้ตัวเลขที่ซับซ้อนหากปัญหาดังที่แสดง การจัดการกับตัวเลขที่ซับซ้อนนั้นไม่ง่ายกว่านี้มิฉะนั้นจะไม่มีคำถามเลย ไม่ใช่ว่าทุกอย่างจะทำงานได้ดีกับตัวเลขที่ซับซ้อนและมันก็ไม่ใช่การเปลี่ยนแปลงที่ตรงไปตรงมาหากคุณไม่รู้ว่าคุณกำลังทำอะไรอยู่ การแปลงปัญหานี้ในพื้นที่จริงนั้นเทียบเท่ากันและคุณสามารถนำเทคนิคทางสถิติที่หลากหลายมาใช้ได้โดยไม่ต้องกังวลว่าจะใช้งานได้หรือไม่ในพื้นที่ที่ซับซ้อน
sashkello

1
@whuber คำตอบที่ดีและคำอธิบายที่ดี ผมว่าเร็วที่สุดเท่าที่คุณได้รับมากกว่าการแปลงจากที่หนึ่งไปยังอีกที่เป็นจริงไม่ยาก ...
sashkello

คำตอบ:


40

สรุป

การวางนัยทั่วไปของการถดถอยกำลังสองน้อยที่สุดไปยังตัวแปรที่มีค่าเชิงซ้อนนั้นเป็นแบบตรงไปตรงมาซึ่งประกอบด้วยการเปลี่ยนเมทริกซ์ทรานสดิวเซอร์เป็นหลัก แม้ว่าการถดถอยที่ซับซ้อนจะมีค่าสอดคล้องกับการถดถอยหลายตัวแปรที่ซับซ้อนซึ่งวิธีการแก้ปัญหานั้นยากกว่ามากที่จะได้รับโดยใช้วิธีมาตรฐาน (ตัวแปรจริง) ดังนั้นเมื่อตัวแบบที่มีค่าเชิงซ้อนมีความหมายแนะนำให้ใช้เลขคณิตเชิงซ้อนเพื่อหาคำตอบ คำตอบนี้ยังรวมถึงวิธีการที่แนะนำในการแสดงข้อมูลและแผนการวินิจฉัยที่เหมาะสม


เพื่อความง่ายเรามาพูดถึงกรณีของการถดถอยแบบธรรมดา (แบบไม่มีตัวแปร) ซึ่งสามารถเขียนได้

zj=β0+β1wj+εj.

ฉันมีอิสระในการตั้งชื่อตัวแปรอิสระและตัวแปรตามZซึ่งเป็นแบบดั้งเดิม (ดูตัวอย่างเช่น Lars Ahlfors การวิเคราะห์เชิงซ้อน ) ทั้งหมดที่ตามมานั้นตรงไปตรงมาเพื่อขยายการตั้งค่าการถดถอยหลายWZ

การตีความ

รุ่นนี้มีมองเห็นได้อย่างง่ายดายตีความทางเรขาคณิต: คูณโดยจะrescale W Jโดยโมดูลัสของβ 1และหมุนไปรอบ ๆ ต้นกำเนิดโดยการโต้แย้งของβ 1 ต่อจากนั้นการเพิ่มβ 0แปลผลลัพธ์ด้วยจำนวนนี้ ผลของε jคือ "กระวนกระวายใจ" ที่แปลเล็กน้อย ดังนั้นการถดถอยz jบนw jในลักษณะนี้จึงเป็นความพยายามที่จะเข้าใจการรวบรวมคะแนน 2 มิติ( z j )β1 wjβ1β1β0εjzJWJ(ZJ)ที่เกิดขึ้นจากกลุ่มดาวของจุด 2D ผ่านการแปลงเช่นนี้ทำให้เกิดข้อผิดพลาดบางอย่างในกระบวนการ นี่คือตัวอย่างด้านล่างพร้อมรูปที่ชื่อ "พอดีกับการเปลี่ยนแปลง"(WJ)

โปรดทราบว่าการลดขนาดและการหมุนไม่ได้เป็นเพียงการแปลงเชิงเส้นของระนาบ: ตัวอย่างเช่นการแยกการแปลงแบบเบ้ ดังนั้นรูปแบบนี้ไม่เหมือนกับการถดถอยหลายตัวแปรแบบสองตัวแปรด้วยสี่พารามิเตอร์

กำลังสองน้อยที่สุดธรรมดา

หากต้องการเชื่อมต่อตัวเรือนที่ซับซ้อนกับตัวจริงให้ลองเขียน

สำหรับค่าของตัวแปรตามและZJ=xJ+ผมYJ

สำหรับค่าของตัวแปรอิสระWJ=ยูJ+ผมโวลต์J

นอกจากนี้สำหรับพารามิเตอร์เขียน

และ β 1 = γ 1 + ฉันδ 1 β0=γ0+ผมδ0β1=γ1+ผมδ1

คำศัพท์ใหม่ทุกคำที่แนะนำคือของจริงและเป็นจินตภาพในขณะที่j = 1 , 2 , , n จะจัดทำดัชนีข้อมูลผม2=-1J=1,2,...,n

OLS พบเบต้า 0และβ 1ที่ลดผลรวมของกำลังสองของการเบี่ยงเบน,β^0β^1

ΣJ=1n||ZJ-(β^0+β^1WJ)||2=ΣJ=1n(Z¯J-(β^0¯+β^1¯W¯J))(ZJ-(β^0+β^1WJ)).

อย่างเป็นทางการนี้เป็นเหมือนการกำหนดเมทริกซ์ปกติ: เปรียบเทียบกับ ความแตกต่างเดียวที่เราพบคือ transpose ของการออกแบบเมทริกซ์X 'จะถูกแทนที่ด้วยtranspose ผันX * = ˉ X ' ดังนั้นวิธีแก้ปัญหาเมทริกซ์ที่เป็นทางการคือ(Z-Xβ)'(Z-Xβ).X' X* * * *=X¯'

β^=(XX)1Xz.

ในเวลาเดียวกันเพื่อดูว่าสิ่งใดที่สามารถทำให้สำเร็จได้โดยการทำให้สิ่งนี้กลายเป็นปัญหาของตัวแปรล้วนๆเราอาจจะเขียนวัตถุประสงค์ OLS ในแง่ขององค์ประกอบที่แท้จริง:

j=1n(xjγ0γ1uj+δ1vj)2+j=1n(yjδ0δ1ujγ1vj)2.

เห็นได้ชัดว่าสิ่งนี้แสดงถึงการถดถอยที่แท้จริงที่เชื่อมโยงกันสองรายการ: หนึ่งในนั้นถดถอยบนuและv , อีกหนึ่ง regresses yกับuและv ; และเราจำเป็นต้องให้โวลต์ค่าสัมประสิทธิ์สำหรับxเป็นลบของยูค่าสัมประสิทธิ์สำหรับYและUค่าสัมประสิทธิ์สำหรับxเท่ากับวีค่าสัมประสิทธิ์สำหรับปี ยิ่งกว่านั้นเพราะผลรวมxยูโวลต์Yยูโวลต์โวลต์xยูYยูxโวลต์Yกำลังสองของส่วนที่เหลือจากการถดถอยทั้งสองจะลดลงโดยปกติจะไม่เป็นกรณีที่ค่าสัมประสิทธิ์ทั้งชุดให้ค่าประมาณที่ดีที่สุดสำหรับหรือyเพียงอย่างเดียว สิ่งนี้ได้รับการยืนยันในตัวอย่างด้านล่างซึ่งดำเนินการถดถอยจริงสองรายการแยกกันและเปรียบเทียบโซลูชันของพวกเขากับการถดถอยเชิงซ้อนxY

การวิเคราะห์นี้ทำให้เห็นได้ชัดว่าการเขียนการถดถอยที่ซับซ้อนในส่วนของจริง (1) ทำให้สูตรซับซ้อน, (2) ปิดบังการตีความทางเรขาคณิตอย่างง่ายและ (3) จะต้องมีการถดถอยหลายตัวแปรแบบทั่วไปที่มีหลายตัวแปร ) เพื่อแก้ปัญหา เราทำได้ดีกว่า

ตัวอย่าง

ตัวอย่างเช่นฉันใช้ตารางค่าที่จุดอินทิกรัลใกล้กับจุดกำเนิดในระนาบเชิงซ้อน ไปเป็นค่าเปลี่ยนW βมีการเพิ่มข้อผิดพลาด IID มีการกระจายแบบเกาส์ bivariate: โดยเฉพาะอย่างยิ่งในส่วนจริงและจินตภาพของความผิดพลาดที่ไม่เป็นอิสระWWβ

เป็นการยากที่จะวาด scatterplot ตามปกติของสำหรับตัวแปรที่ซับซ้อนเนื่องจากมันจะประกอบด้วยจุดต่าง ๆ ในสี่มิติ แต่เราสามารถดูเมทริกซ์กระจายของชิ้นส่วนจริงและจินตภาพของพวกเขา(WJ,ZJ)

เมทริกซ์ Scatterplot

ไม่ต้องสนใจตอนนี้และดูที่สี่แถวบนสุดและสี่คอลัมน์ด้านซ้าย: สิ่งเหล่านี้แสดงข้อมูล กริดวงกลมของนั้นปรากฏที่มุมบนซ้าย; มันมี81คะแนน Scatterplots ขององค์ประกอบของwเทียบกับส่วนประกอบของzแสดงความสัมพันธ์ที่ชัดเจน สามคนมีความสัมพันธ์เชิงลบ เฉพาะy (ส่วนจินตภาพของz ) และu (ส่วนจริงของw ) มีความสัมพันธ์เชิงบวกW81WZYZยูW

สำหรับข้อมูลเหล่านี้มูลค่าที่แท้จริงของคือ( - 20 + 5 ผม, - 3 / 4 + 3 / 4 β) เพราะมันหมายถึงการขยายตัวโดย3/2และหมุนทวนเข็มนาฬิกา 120 องศาตามด้วยการแปลของ20หน่วยไปทางซ้ายและ5หน่วยขึ้น ฉันคำนวณสามชุด: โซลูชันกำลังสองน้อยที่สุดที่ซับซ้อนและสองโซลูชัน OLS สำหรับ(xj)และ(yj)แยกกันเพื่อเปรียบเทียบ(-20+5ผม,-3/4+3/43ผม)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

มันจะเป็นกรณีที่การสกัดกั้นที่แท้จริงเพียงอย่างเดียวเห็นด้วยกับส่วนที่แท้จริงของการสกัดกั้นที่ซับซ้อนและการสกัดกั้นแบบจินตภาพเท่านั้นเห็นด้วยกับส่วนจินตภาพของการสกัดกั้นที่ซับซ้อน แม้ว่ามันจะเห็นได้ชัดว่าลาดจริงและเพียงจินตนาการเท่านั้นไม่เห็นด้วยกับค่าสัมประสิทธิ์ความชันที่ซับซ้อนหรือกับแต่ละอื่น ๆ ตามที่คาดการณ์ไว้

ลองมาดูผลลัพธ์ของความซับซ้อนที่ใกล้เคียงกันยิ่งขึ้น อันดับแรกพล็อตของค่าตกค้างทำให้เรามีข้อบ่งชี้การกระจายตัวแบบเกาส์ไบแบ่งเป็นสองส่วน (การแจกแจงต้นแบบมีส่วนเบี่ยงเบนมาตรฐานเล็กน้อยและสหสัมพันธ์เท่ากับ0.8 ) จากนั้นเราสามารถพล็อตขนาดของสารตกค้าง (แสดงด้วยขนาดของสัญลักษณ์วงกลม) และอาร์กิวเมนต์ของมัน (แสดงด้วยสีเหมือนในพล็อตแรก) เทียบกับค่าติดตั้ง: พล็อตนี้ควรมีลักษณะการกระจายขนาดและสีแบบสุ่มซึ่งเป็นไปได้20.8

พล็อตที่เหลือ

ในที่สุดเราสามารถพรรณนาความพอดีได้หลายวิธี ความพอดีปรากฏในแถวสุดท้ายและคอลัมน์ของเมทริกซ์กระจาย ( qv ) และอาจคุ้มค่าที่จะดูอย่างละเอียดมากขึ้น ณ จุดนี้ ด้านล่างทางซ้ายจะมีการพล็อตเป็นวงกลมและลูกศรสีฟ้าเปิด (แทนส่วนที่เหลือ) เชื่อมต่อพวกเขากับข้อมูลที่แสดงเป็นวงกลมสีแดงทึบ ทางด้านขวาจะแสดงเป็นวงกลมสีดำเปิดที่เต็มไปด้วยสีที่สอดคล้องกับข้อโต้แย้งของพวกเขา; เหล่านี้จะเชื่อมต่อกันด้วยลูกศรเพื่อค่าที่สอดคล้องกันของ( ซีเจ ) จำได้ว่าแต่ละลูกศรแสดงให้เห็นถึงการขยายตัวโดย3 / 2รอบต้นกำเนิด, การหมุนโดย120(WJ)(ZJ)3/2120องศาและการแปลโดยบวกกับข้อผิดพลาดของตัวแปร Guassian(-20,5)

พอดีกับการเปลี่ยนแปลง

ผลลัพธ์เหล่านี้พล็อตและพล็อตการวินิจฉัยชี้ให้เห็นว่าสูตรการถดถอยแบบซับซ้อนทำงานได้อย่างถูกต้องและได้ผลต่างจากการถดถอยเชิงเส้นแบบแยกส่วนของส่วนจริงและจินตภาพของตัวแปร

รหัส

Rรหัสในการสร้างข้อมูลที่พอดีและแปลงปรากฏด้านล่าง โปรดทราบว่าการแก้ปัญหาที่เกิดขึ้นจริงของβจะได้รับในบรรทัดเดียวของรหัส งานเพิ่มเติม - แต่ไม่มากจนเกินไป - จะต้องได้รับเอาต์พุตกำลังสองน้อยที่สุดตามปกติ: เมทริกซ์ความแปรปรวนร่วม - ความแปรปรวนร่วมของความพอดี, ข้อผิดพลาดมาตรฐาน, ค่า p ฯลฯβ^

#
# 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)

β^y

หากคำนวณทั้งหมดอย่างถูกต้องความแปรปรวนร่วมจะยังคงเป็นค่าบวกแน่นอน โดยเฉพาะอย่างยิ่งนี่ก็หมายความว่าเมื่อคุณใช้มันเพื่อคำนวณความแปรปรวนร่วมของส่วนจริงหรือส่วนจินตภาพของตัวแปรคุณจะได้รับจำนวนบวกดังนั้น CI ทั้งหมดจะถูกกำหนดอย่างดี
whuber

β^

นอกจากนี้ถ้าเมื่อฉันคำนวณค่าสำหรับสถิติการทดสอบฉันจะได้ตัวเลขเช่น say, 3 + .1 * i สำหรับสิ่งนี้ฉันคาดหวังว่าจำนวนจะไม่มีส่วนในจินตนาการ เป็นเรื่องปกติหรือไม่ หรือสัญญาณที่ฉันกำลังทำอะไรผิดหรือเปล่า?
bill_e

เมื่อคุณคำนวณสถิติการทดสอบด้วยตัวเลขที่ซับซ้อนคุณควรคาดหวังว่าจะได้ผลลัพธ์ที่ซับซ้อน! หากคุณมีเหตุผลทางคณิตศาสตร์ว่าทำไมสถิติควรเป็นจริงการคำนวณจะต้องผิดพลาด เมื่อส่วนจินตภาพคือเล็กมากเมื่อเทียบกับส่วนจริงที่มีแนวโน้มสะสมลอยจุดผิดพลาดและก็มักจะปลอดภัยที่จะฆ่ามันออก ( zapsmallในR) มิฉะนั้นมันเป็นสัญญาณบางอย่างผิดปกติ
whuber

5

หลังจากใช้ Google มานานฉันพบข้อมูลที่เกี่ยวข้องบางอย่างเกี่ยวกับการทำความเข้าใจปัญหาในลักษณะอื่น ปรากฎว่าปัญหาที่คล้ายกันนั้นเป็นเรื่องธรรมดาในการประมวลผลสัญญาณเชิงสถิติ แทนที่จะเริ่มต้นด้วยความเป็นไปได้แบบ gaussian ซึ่งสอดคล้องกับกำลังสองน้อยที่สุดเชิงเส้นสำหรับข้อมูลจริงหนึ่งเริ่มต้นด้วย:

http://en.wikipedia.org/wiki/Complex_normal_distribution

หน้าวิกิพีเดียนี้ให้บทสรุปที่น่าพอใจเกี่ยวกับวัตถุนี้

β^

แหล่งข้อมูลอื่นที่ฉันพบว่ามาถึงข้อสรุปเดียวกับ whuber แต่สำรวจตัวประมาณอื่น ๆ เช่นความน่าจะเป็นสูงสุดคือ: "การประมาณตัวแบบถดถอยเชิงเส้นที่ไม่เหมาะสม" จาก Yan et al


1

ในขณะที่ @whuber มีคำตอบที่แสดงอย่างสวยงามและอธิบายได้ดี แต่ฉันคิดว่ามันเป็นแบบจำลองที่เรียบง่ายที่ขาดพลังบางส่วนของพื้นที่ซับซ้อน

Wβx

Z=β0+β1W+ε

ที่ไหน ε มีการกระจายปกติด้วยศูนย์ค่าเฉลี่ยและความแปรปรวน (โดยทั่วไปคงที่) บางส่วน

ฉันขอแนะนำให้กำหนดการถดถอยเชิงเส้นที่ซับซ้อนดังนี้

Z=β0+β1W+β2W¯+ε

มีความแตกต่างที่สำคัญสองประการ

ก่อนอื่นมีระดับความอิสระเพิ่มขึ้น β2ที่ช่วยให้ความไวเฟส คุณอาจไม่ต้องการสิ่งนั้น แต่คุณสามารถมีมันได้อย่างง่ายดาย

ประการที่สอง ε เป็นการแจกแจงแบบปกติที่ซับซ้อนโดยมีค่าเฉลี่ยเป็นศูนย์และความแปรปรวนบางอย่างและ“ หลอกความแปรปรวน”

เมื่อย้อนกลับไปที่โมเดลจริงวิธีแก้ปัญหากำลังสองน้อยสุดสามัญจะช่วยลดการสูญเสียซึ่งเป็นความน่าจะเป็นบันทึกเชิงลบ สำหรับการแจกแจงแบบปกตินี่คือพาราโบลา:

Y=ax2+x+d.

ที่ไหน x=z(β0+β1w), a is fixed (typically), c is zero as per the model, and d doesn't matter since loss functions are invariant under constant addition.

Back to the complex model, the negative log-likelihood is

y=a|x|2+(bx2+cx)+d.

c and d are zero as before. a is the curvature and b is the “pseudo-curvature”. b captures anisotropic components. If the function bothers you, then an equivalent way of writing this is

[xμxμ¯]H[suu¯s¯]1[xμxμ¯]+d
for another set of parameters s,ยู,μ,d. ที่นี่s คือความแปรปรวนและ ยู คือความแปรปรวนแบบหลอก μ เป็นศูนย์ตามแบบจำลองของเรา

นี่คือภาพของการกระจายตัวแบบปกติที่ซับซ้อน:

ความหนาแน่นของการแจกแจงแบบปกติแบบไม่มีตัวแปรที่ซับซ้อน

สังเกตว่ามันไม่สมมาตร ปราศจาก พารามิเตอร์จะต้องไม่สมมาตร

สิ่งนี้ทำให้การถดถอยถดถอยถึงแม้ว่าฉันค่อนข้างแน่ใจว่าโซลูชันยังคงวิเคราะห์อยู่ ฉันแก้ไขมันสำหรับกรณีของอินพุตหนึ่งและฉันยินดีที่จะคัดลอกโซลูชันของฉันที่นี่ แต่ฉันมีความรู้สึกว่า whuber อาจแก้ปัญหากรณีทั่วไป


ขอบคุณสำหรับการสนับสนุนนี้ แต่ฉันไม่ทำตามเพราะฉันไม่แน่ใจ (ก) ทำไมคุณแนะนำพหุนามสมการกำลังสอง (ข) สิ่งที่คุณหมายถึงโดยพหุนาม "ที่ตรงกัน" หรือ (c) แบบจำลองทางสถิติที่คุณเหมาะสม คุณจะสามารถอธิบายรายละเอียดเหล่านั้นได้หรือไม่?
whuber

@whuber ฉันเขียนมันใหม่เป็นแบบจำลองทางสถิติ โปรดแจ้งให้เราทราบหากคุณสมเหตุสมผล
Neil G

ขอบคุณ: นั่นเป็นการล้างข้อมูล (+1) โมเดลของคุณไม่ใช่ฟังก์ชันการวิเคราะห์ของตัวแปรอีกต่อไป แต่เนื่องจากเป็นฟังก์ชั่นการวิเคราะห์ของพารามิเตอร์จึงสามารถรู้สึกได้ว่าเป็นการถดถอยแบบหลายครั้งZเทียบกับสองตัวแปรที่ซับซ้อนW และ W¯. นอกจากนี้คุณอนุญาตεเพื่อให้การกระจายมีความยืดหยุ่นมากขึ้น: นั่นไม่เข้าใจในโซลูชันของฉัน เท่าที่ผมสามารถบอกวิธีการแก้ปัญหาของคุณจะเทียบเท่ากับการแปลงทุกอย่างลงในชิ้นส่วนจริงและจินตภาพและการดำเนินการหลายตัวแปรหลายจริงถดถอย
whuber

@whuber ถูกต้องกับการเปลี่ยนแปลงทั้งสองที่ฉันแนะนำฉันคิดว่ามันเป็นอย่างที่คุณพูดการถดถอยหลายตัวแปรที่แท้จริง \ เบต้า2สามารถลบออกเพื่อ จำกัด การเปลี่ยนแปลงตามที่คุณอธิบายในโซลูชันของคุณ อย่างไรก็ตามคำว่า pseudo-curvature มีแอปพลิเคชั่นที่ใช้งานได้จริงเช่นพยายามถดถอยเพื่อทำนายแรงดันไฟฟ้ากระแสสลับที่มีสถานะพื้นไม่ใช่ศูนย์?
Neil G

เกี่ยวกับมันเป็นฟังก์ชั่นการวิเคราะห์คุณไม่ใช่การวิเคราะห์เพราะการสูญเสียของคุณคือพาราโบลา |x|2ซึ่งไม่ใช่การวิเคราะห์ อานx2 เป็นการวิเคราะห์ แต่โดยตัวมันเองมันไม่สามารถย่อให้เล็กสุดได้เนื่องจากมันแตกต่าง
Neil G

1

ปัญหานี้เกิดขึ้นอีกครั้งในMathematica StackExchangeและคำตอบ / ความคิดเห็นเพิ่มเติมของฉันคือคำตอบที่ดีของ @whuber

คำตอบของฉันที่นี่คือความพยายามที่จะขยายคำตอบของ @whuber เพียงเล็กน้อยโดยทำให้โครงสร้างข้อผิดพลาดชัดเจนขึ้นอีกเล็กน้อย ตัวประมาณกำลังสองน้อยที่สุดที่เสนอคือสิ่งที่เราจะใช้ถ้าการแจกแจงข้อผิดพลาด bivariate มีความสัมพันธ์เป็นศูนย์ระหว่างองค์ประกอบจริงและจินตภาพ (แต่ข้อมูลที่สร้างขึ้นมีความสัมพันธ์ผิดพลาด 0.8)

หากมีการเข้าถึงโปรแกรมพีชคณิตเชิงสัญลักษณ์ดังนั้นความยุ่งเหยิงของการสร้างตัวประมาณค่าความน่าจะเป็นสูงสุดของพารามิเตอร์ (ทั้งเอฟเฟกต์ "คงที่" และโครงสร้างความแปรปรวนร่วม) สามารถกำจัดได้ ด้านล่างนี้ฉันใช้ข้อมูลเดียวกับในคำตอบของ @whuber และสร้างการประมาณการความเป็นไปได้สูงสุดโดยสมมติว่าρ=0 แล้วโดยการสมมติ ρ0. ฉันใช้Mathematicaแต่ฉันคิดว่าโปรแกรมพีชคณิตเชิงสัญลักษณ์อื่น ๆ สามารถทำสิ่งที่คล้ายกันได้ (และฉันได้โพสต์รูปภาพของรหัสและผลลัพธ์ก่อนแล้วตามด้วยรหัสจริงในภาคผนวกเนื่องจากฉันไม่สามารถรับMathematica code ให้ดูตามที่ควรจะเป็นโดยใช้แค่ข้อความ)

ข้อมูลและตัวประมาณกำลังสองน้อยที่สุด

ตอนนี้สำหรับการประมาณการความเป็นไปได้สูงสุดที่สมมติขึ้น ρ=0...

การประมาณความเป็นไปได้สูงสุดที่สมมติว่า rho เป็นศูนย์

เราเห็นว่าประมาณการความน่าจะเป็นสูงสุดซึ่งถือว่า ρ=0 จับคู่อย่างสมบูรณ์แบบด้วยค่าประมาณกำลังสองรวมน้อยที่สุด

ตอนนี้ให้ข้อมูลเป็นตัวกำหนดประมาณการสำหรับ ρ:

การประมาณโอกาสสูงสุดรวมถึง rho

เรามาดูกันว่า γ0 และ δ0 เป็นหลักเหมือนกันไม่ว่าเราจะอนุญาตให้มีการประมาณ ρ. แต่γ1 มีค่าใกล้เคียงกับค่าที่สร้างข้อมูลมากขึ้น (แม้ว่าการอนุมานด้วยขนาดตัวอย่าง 1 ไม่ควรถือว่าชัดเจนว่าจะพูดน้อยที่สุด) และบันทึกของโอกาสที่จะสูงกว่ามาก

จุดของฉันในทั้งหมดนี้คือแบบจำลองที่ถูกต้องจะต้องทำอย่างชัดเจนและโปรแกรมพีชคณิตเชิงสัญลักษณ์ที่สามารถช่วยบรรเทาความยุ่งเหยิง (และแน่นอนที่สุดตัวประมาณความน่าจะเป็นถือว่าการแจกแจงปกติแบบ bivariate ซึ่งตัวประมาณกำลังสองน้อยสุดไม่ถือว่า)

ภาคผนวก: รหัสMathematicaแบบเต็ม

(* Predictor variable *)
w = {0 - 5 I, -3 - 4 I, -2 - 4 I, -1 - 4 I, 0 - 4 I, 1 - 4 I, 2 - 4 I,
    3 - 4 I, -4 - 3 I, -3 - 3 I, -2 - 3 I, -1 - 3 I, 0 - 3 I, 1 - 3 I,
    2 - 3 I, 3 - 3 I, 4 - 3 I, -4 - 2 I, -3 - 2 I, -2 - 2 I, -1 - 2 I,
    0 - 2 I, 1 - 2 I, 2 - 2 I, 3 - 2 I, 
   4 - 2 I, -4 - 1 I, -3 - 1 I, -2 - 1 I, -1 - 1 I, 0 - 1 I, 1 - 1 I, 
   2 - 1 I, 3 - 1 I, 
   4 - 1 I, -5 + 0 I, -4 + 0 I, -3 + 0 I, -2 + 0 I, -1 + 0 I, 0 + 0 I,
    1 + 0 I, 2 + 0 I, 3 + 0 I, 4 + 0 I, 
   5 + 0 I, -4 + 1 I, -3 + 1 I, -2 + 1 I, -1 + 1 I, 0 + 1 I, 1 + 1 I, 
   2 + 1 I, 3 + 1 I, 4 + 1 I, -4 + 2 I, -3 + 2 I, -2 + 2 I, -1 + 2 I, 
   0 + 2 I, 1 + 2 I, 2 + 2 I, 3 + 2 I, 
   4 + 2 I, -4 + 3 I, -3 + 3 I, -2 + 3 I, -1 + 3 I, 0 + 3 I, 1 + 3 I, 
   2 + 3 I, 3 + 3 I, 4 + 3 I, -3 + 4 I, -2 + 4 I, -1 + 4 I, 0 + 4 I, 
   1 + 4 I, 2 + 4 I, 3 + 4 I, 0 + 5 I};
(* Add in a "1" for the intercept *)
w1 = Transpose[{ConstantArray[1 + 0 I, Length[w]], w}];

z = {-15.83651 + 7.23001 I, -13.45474 + 4.70158 I, -13.63353 + 
    4.84748 I, -14.79109 + 4.33689 I, -13.63202 + 
    9.75805 I, -16.42506 + 9.54179 I, -14.54613 + 
    12.53215 I, -13.55975 + 14.91680 I, -12.64551 + 
    2.56503 I, -13.55825 + 4.44933 I, -11.28259 + 
    5.81240 I, -14.14497 + 7.18378 I, -13.45621 + 
    9.51873 I, -16.21694 + 8.62619 I, -14.95755 + 
    13.24094 I, -17.74017 + 10.32501 I, -17.23451 + 
    13.75955 I, -14.31768 + 1.82437 I, -13.68003 + 
    3.50632 I, -14.72750 + 5.13178 I, -15.00054 + 
    6.13389 I, -19.85013 + 6.36008 I, -19.79806 + 
    6.70061 I, -14.87031 + 11.41705 I, -21.51244 + 
    9.99690 I, -18.78360 + 14.47913 I, -15.19441 + 
    0.49289 I, -17.26867 + 3.65427 I, -16.34927 + 
    3.75119 I, -18.58678 + 2.38690 I, -20.11586 + 
    2.69634 I, -22.05726 + 6.01176 I, -22.94071 + 
    7.75243 I, -28.01594 + 3.21750 I, -24.60006 + 
    8.46907 I, -16.78006 - 2.66809 I, -18.23789 - 
    1.90286 I, -20.28243 + 0.47875 I, -18.37027 + 
    2.46888 I, -21.29372 + 3.40504 I, -19.80125 + 
    5.76661 I, -21.28269 + 5.57369 I, -22.05546 + 
    7.37060 I, -18.92492 + 10.18391 I, -18.13950 + 
    12.51550 I, -22.34471 + 10.37145 I, -15.05198 + 
    2.45401 I, -19.34279 - 0.23179 I, -17.37708 + 
    1.29222 I, -21.34378 - 0.00729 I, -20.84346 + 
    4.99178 I, -18.01642 + 10.78440 I, -23.08955 + 
    9.22452 I, -23.21163 + 7.69873 I, -26.54236 + 
    8.53687 I, -16.19653 - 0.36781 I, -23.49027 - 
    2.47554 I, -21.39397 - 0.05865 I, -20.02732 + 
    4.10250 I, -18.14814 + 7.36346 I, -23.70820 + 
    5.27508 I, -25.31022 + 4.32939 I, -24.04835 + 
    7.83235 I, -26.43708 + 6.19259 I, -21.58159 - 
    0.96734 I, -21.15339 - 1.06770 I, -21.88608 - 
    1.66252 I, -22.26280 + 4.00421 I, -22.37417 + 
    4.71425 I, -27.54631 + 4.83841 I, -24.39734 + 
    6.47424 I, -30.37850 + 4.07676 I, -30.30331 + 
    5.41201 I, -28.99194 - 8.45105 I, -24.05801 + 
    0.35091 I, -24.43580 - 0.69305 I, -29.71399 - 
    2.71735 I, -26.30489 + 4.93457 I, -27.16450 + 
    2.63608 I, -23.40265 + 8.76427 I, -29.56214 - 2.69087 I};

(* whuber 's least squares estimates *)
{a, b} = Inverse[ConjugateTranspose[w1].w1].ConjugateTranspose[w1].z
(* {-20.0172+5.00968 \[ImaginaryI],-0.830797+1.37827 \[ImaginaryI]} *)

(* Break up into the real and imaginary components *)
x = Re[z];
y = Im[z];
u = Re[w];
v = Im[w];
n = Length[z]; (* Sample size *)

(* Construct the real and imaginary components of the model *)
(* This is the messy part you probably don't want to do too often with paper and pencil *)
model = \[Gamma]0 + I \[Delta]0 + (\[Gamma]1 + I \[Delta]1) (u + I v);
modelR = Table[
   Re[ComplexExpand[model[[j]]]] /. Im[h_] -> 0 /. Re[h_] -> h, {j, n}];
(* \[Gamma]0+u \[Gamma]1-v \[Delta]1 *)
modelI = Table[
   Im[ComplexExpand[model[[j]]]] /. Im[h_] -> 0 /. Re[h_] -> h, {j, n}];
(* v \[Gamma]1+\[Delta]0+u \[Delta]1 *)

(* Construct the log of the likelihood as we are estimating the parameters associated with a bivariate normal distribution *)
logL = LogLikelihood[
   BinormalDistribution[{0, 0}, {\[Sigma]1, \[Sigma]2}, \[Rho]],
   Transpose[{x - modelR, y - modelI}]];

mle0 = FindMaximum[{logL /. {\[Rho] -> 
      0, \[Sigma]1 -> \[Sigma], \[Sigma]2 -> \[Sigma]}, \[Sigma] > 
    0}, {\[Gamma]0, \[Delta]0, \[Gamma]1, \[Delta]1, \[Sigma]}]
(* {-357.626,{\[Gamma]0\[Rule]-20.0172,\[Delta]0\[Rule]5.00968,\[Gamma]1\[Rule]-0.830797,\[Delta]1\[Rule]1.37827,\[Sigma]\[Rule]2.20038}} *)

(* Now suppose we don't want to restrict \[Rho]=0 *)
mle1 = FindMaximum[{logL /. {\[Sigma]1 -> \[Sigma], \[Sigma]2 -> \[Sigma]}, \[Sigma] > 0 && -1 < \[Rho] < 
     1}, {\[Gamma]0, \[Delta]0, \[Gamma]1, \[Delta]1, \[Sigma], \[Rho]}]
(* {-315.313,{\[Gamma]0\[Rule]-20.0172,\[Delta]0\[Rule]5.00968,\[Gamma]1\[Rule]-0.763237,\[Delta]1\[Rule]1.30859,\[Sigma]\[Rule]2.21424,\[Rho]\[Rule]0.810525}} *)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.