공분산 구조 지정 : 장단점


15

공분산 행렬의 모든 비 대각선 항목을 0으로 처리하지 않고 GLM에서 공분산 구조를 지정하면 어떤 이점이 있습니까? 데이터에 대해 아는 것을 반영하는 것 외에도

  1. 착용감 향상?
  2. 보류 된 데이터의 예측 정확도를 향상 시킵니까?
  3. 공분산의 정도를 추정 할 수 있습니까?

공분산 구조를 부과하는 비용은 얼마입니까? 그렇습니까

  1. 추정 알고리즘에 대한 계산상의 합병증을 추가합니까?
  2. 추정 된 매개 변수의 수를 늘리고 AIC, BIC, DIC도 증가합니까?

올바른 공분산 구조를 경험적으로 결정하는 것이 가능합니까, 아니면 데이터 생성 프로세스에 대한 지식에 의존하는 것입니까?

언급하지 않은 비용 / 혜택은 무엇입니까?


5
기본적으로 GLM에서 공분산 구조를 지정 해야합니다 . "공분산이 없다고 가정"하여 "공분산 행렬의 모든 비 대각선 항목이 0"을 의미하는 경우 매우 구체적인 공분산 구조 중 하나만 가정하면됩니다. (예를 들어, 모든 분산이 같다고 가정하면 더 구체적 일 수 있습니다.) 결론 : 질문이 현재 형식으로 이해되는지 확실하지 않습니다. (어쨌든 나는 전문가들이 말을 시작할 때 많은 것을 배울 것이라고 생각하기 때문에 공감했다.) 아니면 내가 당신을 오해하고 있습니까?
Stephan Kolassa

다변량 정규 혼합 분포를 사용하는 GLM의 공분산 구조 또는 공분산 행렬 등의 공분산 구조 분석을 언급하고 있습니까?
Tim

1
@StephanKolassa 귀하의 의견을 답변에 복사 하시겠습니까? 얻을 수있는만큼 좋은 질문에 대답하는 것 같습니다.
Corone

@ 코론 : 좋은 지적, 알림 주셔서 감사합니다. 나는 가서 답을 올렸다. 아마도 다른 누군가가 차임하고 더 나은 것을 줄 것입니다.
Stephan Kolassa

답변:


13

기본적으로 GLM에서 공분산 구조를 지정 해야합니다 . "공분산이 없다고 가정"하여 "공분산 행렬의 모든 비 대각선 항목이 0"을 의미하는 경우 매우 구체적인 공분산 구조 중 하나만 가정하면됩니다. (예를 들어 모든 분산이 같다고 가정하면 더 구체적 일 수 있습니다.)

이것은 "나는 어떤 철학도 구독하지 않고 실용 주의자"라는 변형입니다. - "방금 구독 한 철학을 설명했습니다."

따라서 공분산 구조에 대해 생각할 때 얻을 수있는 이점은 데이터에 더 적합한 모델을 사용할 수 있다는 것입니다. 관측치의 예상 값 (또는 평균)에 대해 알려진 기능적 관계를 포함해야하는 것처럼 공분산에서 알고있는 구조를 고려해야합니다.

물론 "불이익"은이 모든 것에 대해 실제로 생각해야한다는 것입니다. 소프트웨어의 기본 설정을 사용하는 것이 훨씬 쉽습니다. 그러나 이것은 자동차를 구입할 때 첫 번째 기어에 있었고 기어 변속을 이해하는 데 노력이 필요하기 때문에 항상 첫 번째 기어에서 운전하는 것과 같습니다. 권장하지 않습니다.


2
+1 나는 당신이 쓴 모든 단어에 동의하지만, 이것이 완전히 그 질문을 다룬다 고는 생각하지 않습니다. 예를 들어, 더 적절한 공분산 구조를 지정하면 모형 잔차가 줄어 듭니까?
잭 태너

1
@ JackTanner : 감사합니다! 그리고 당신은 내가 당신의 질문에 완전히 대답하지 않았다는 점에서 옳습니다. 그래서 나는 원래 이것을 주석으로 만 게시했습니다. 진실은 : 예를 들어, 올바른 공분산 구조를 지정하여 잔차를 줄 일지 여부는 알 수 없습니다. 잔차에 (공분산) 잔차에 추가 구조를 적용하면 구조가 증가 할 수도 있지만 매개 변수를 절약 할 수 있습니다. 비 구조적 공분산 행렬 대신 AR (1) 구조를 생각해보십시오. 게시물의 다른 질문과 비슷합니다. 나는 이것에 대한 다른 사람들의 견해에 분명히 관심이 있습니다.
Stephan Kolassa

1
+1; 또한 유용한 답변이며, 직유는 훌륭합니다.
russellpierce

2

GLM에 대해 직접적으로 다루지 않은 또 다른 불완전한 답변이 있습니다 ... SEM (구조적 방정식 모델링)에 대한 매우 제한된 경험에서, 토론에 무언가를 추가 할 수있는 몇 가지 아이디어를 선택했습니다. 나는 GLM 자체가 아니라 SEM에 대한 제한된 경험을 통해 이야기 하고 있으며, 이러한 구별이 중요한지 여부와 위치를 상당히 알지 못한다는 점을 명심하십시오 . 통계 전문가보다 통계 사용자가 더 많기 때문에 이러한 아이디어가 모든 데이터 또는 대부분의 데이터에 적용되는지 확실하지 않습니다. 나는 그들이 내 자신의 대부분에 적용되는 것을 발견했습니다.

먼저, @StephanKolassa가 이미 알고있는 것을 모델링하는 것의 중요성에 대해 강조합니다. 당신은 이것을 제쳐두고 인정하지만, 당신이 요구하는 이점은 당신이 알고있는 것을 모델링하는 이점이라고 생각합니다. 따라서 결과 모델에 추가 한 공분산 구조에 대한 정보가 있음을 의미합니다.

SEM 에서 (이론적 연구가 아닌 제한된 경험을 통해) 발견했습니다.

혜택

  1. 공분산 구조를 모델링하면 공분산이 표준 오차보다 훨씬 강한 경우 (즉, 대칭 경로가 중요한 경우) 적합도 (GoF)가 향상됩니다. 이는 일반적으로 거의 0에 가까운 상관 관계를 모델링하여 GoF를 개선하지 않으며 다중 공선 성은 표준 오류를 부풀리기 때문에 GoF에 문제를 일으킬 수 있음을 의미합니다.

  2. 아직 예측하기 위해 데이터를 유지하려고 시도하지 않았지만 내 직감은 모델에서 공분산을 0으로 고정하는 것은 일련의 개별 단일 IV 선형 회귀 방정식을 결합하여 DV를 예측하는 것과 유사하다는 것입니다. 이 접근법과 달리, 다중 회귀는 DV를 예측하기 위해 방정식 모델을 생성 할 때 IV의 공분산을 설명합니다. 이것은 포함 된 IV 세트 내에서 전적으로 발생하는 간접 효과와 직접 효과를 분리하여 해석 성을 향상시킵니다. 솔직히 이것이 DV 예측을 향상시키는 지 확실하지 않습니다. 통계학자가 아닌 통계 사용자이기 때문에 필자는 다음과 같은 시뮬레이션 테스트 기능을 함께 사용하여 불완전한 답변을 제공했습니다 ( "예, 모형에 IV 공분산을 통합하면 예측 정확도가 향상됩니다").

    simtestit=function(Sample.Size=100,Iterations=1000,IV.r=.3,DV.x.r=.4,DV.z.r=.4) {
    require(psych); output=matrix(NA,nrow=Iterations,ncol=6); for(i in 1:Iterations) {
    x=rnorm(Sample.Size); z=rnorm(Sample.Size)+x*IV.r
    y=rnorm(Sample.Size)+x*DV.x.r+z*DV.z.r
    y.predicted=x*lm(y~x+z)$coefficients[2]+z*lm(y~x+z)$coefficients[3]
    bizarro.y.predicted=x*lm(y~x)$coefficients[2]+z*lm(y~z)$coefficients[2]
    output[i,]=c(cor(y.predicted,y)^2,cor(bizarro.y.predicted,y)^2,
    cor(y.predicted,y)^2>cor(bizarro.y.predicted,y)^2,cor(x,z),cor(x,y),cor(y,z))}
    list(output=output,percent.of.predictions.improved=100*sum(output[,3])/Iterations,
    mean.improvement=fisherz2r(mean(fisherz(output[,1])-fisherz(output[,2]))))}
    
    # Wrapping the function in str( ) gives you the gist without filling your whole screen
    str(simtestit())
    

    = IterationsSample.Sizez = x +y = x + z + 랜덤 노이즈 합니다. 사용자는 마지막 세 개의 인수에 대한 기본값을 재정 의하여 상관 관계에 어느 정도 영향을 줄 수 있지만 랜덤 노이즈는 샘플 상관 관계에도 영향을 미치므로 샘플링 오류가 실제 상관 매개 변수의 추정치에 영향을 미치는 방식을 시뮬레이션합니다. 함수는 예측 연산 y을위한 회귀 계수에 기초 x하고 z도출을 행 :

    (1y.predicted

    (2bizarro.y.predicted

    outputIterations아르 자형2121>2아르 자형xyzoutputsimtestit()str( )아르 자형21) IV의 공분산을 설명하기위한 다중 회귀 및 반복 전반에 걸친 이러한 개선의 평균 ( 아르 자형psych

    아르 자형2아르 자형2IV.r)이 더 큽니다. 나보다 GLM 기능에 익숙 할 것이므로 (아직 아님)이 기능을 변경하거나 기본 아이디어를 사용하여 너무 많은 어려움없이 원하는 IV를 통해 GLM 예측을 비교할 수 있습니다. 그것이 같은 방식으로 나타날 것이라고 가정하면, 두 번째 질문에 대한 기본적인 대답은 아마도 그렇습니다. 그러나 IV가 얼마나 강한 지에 따라 얼마나 달라지는가에 달려 있습니다. 홀드 아웃 데이터와 모델에 적합하게 사용 된 데이터 사이의 샘플링 오차의 차이는 후자의 데이터 세트 내에서 예측 정확도의 향상을 압도 할 수 있습니다. 두 개의 IV 만있는 최대 기본 사례).

  3. 모형에서 IV 사이의 공분산에 대한 자유 경로를 지정한다는 것은 IV에 대한 공분산의 정도를 나타내는이 경로의 계수를 추정하기 위해 모형 적합 함수를 요청하는 것을 의미합니다. GLM 함수를 사용하여 IV 사이의 공분산이 0으로 고정되지 않고 자유롭게 추정되는 모델을 지정할 수 있다면 문제를 해결하는 방법과 함수를 출력하는 방법을 파악하는 것이 간단합니다. 그 견적. 함수가 기본적으로 IV 공분산을 추정하는 경우 문제는 후자의 문제로 더 단순화됩니다 (의 경우와 동일 lm( )).

소송 비용

  1. IV 간의 공분산을 자유롭게 추정한다는 것은 모델 적합 알고리즘이 해당 경로의 계수를 추정하기 위해 약간의 작업을 수행해야한다는 것을 의미합니다. 모형에 경로를 지정하지 않으면 일반적으로 계수를 0으로 고정한다는 의미이므로 모형 적합 알고리즘이 계수를 추정 할 필요가 없습니다. 추가 공분산 모수를 추정하면 전체 모형에 적합하는 데 더 많은 시간이 필요합니다. 이미 추정하는 데 시간이 오래 걸리는 모델의 경우 특히 IV가 많은 경우 추가 시간이 상당 할 수 있습니다.

  2. 그렇습니다. 자유롭게 추정되는 공분산 구조는 모수 추정치를 의미합니다. 모집단에는 공분산 모수가 있으므로 모집단 공분산을 추정하는 경우 모수를 추정합니다. 그러나 0으로 고정하지 않고 사소한 상관 관계를 추정하기로 선택하여 모델이 훨씬 더 적합하다면 GoF를 포함하는 다른 기준과 마찬가지로 Akaike 및 Bayesian 정보 기준이 향상 될 것으로 예상 할 수 있습니다. 나는 이탈 정보 기준 (잘 알고있는 DIC) 에 익숙하지 않지만 Wikipedia 페이지 에서 판단 하면 GoF와 모델 복잡성에 대한 패널티를 포함하는 것으로 보입니다.

    따라서 GoF는 DIC를 개선하기 위해 모델의 복잡성 증가보다 비례 적으로 개선해야합니다. 이것이 전반적으로 일어나지 않으면 더 많은 IV 공분산을 추정 할 때 모델 복잡성에 대해 벌칙을 부과하는 것과 같은 기준이 악화됩니다. 예를 들어 IV가 상관 관계가 없지만 IV가 상관 관계가 있다고 생각하거나 함수의 기본 설정으로 인해 공분산 구조가 자유롭게 추정되는 경우 문제가 될 수 있습니다. 상관 관계가 0이라고 가정하는 이론적 인 이유가 있고 모델에서이 가정을 테스트하지 않으려는 경우 경로를 0으로 고정하는 것이 정당화 될 수 있습니다. 당신의 이전 이론이 거의 옳다면

Dunno 어떤 기능을 사용하고 있는지 다시 한번, 나는 그것에 익숙하지 않다고 확신합니다. 그래서이 답변이 개선 될 수 있다고 확신합니다. 특히 두 번째 혜택 질문에 대한 나의 대답 다중 회귀에 대한 시뮬레이션으로 내가 대답하는 것에 대한 증거는 아마도 어딘가에 있습니다. 나는 일반적으로 GLM에 익숙하지 않다. 태그가 제시하는 것처럼 일반 선형 모델링이 아닌 일반화 된 의 구별이 귀하의 질문에 대한 내 답변을 무효화하면 누군가 가이 답변에 대해 의견을 말하거나 편집 할 수 있기를 바랍니다. 조금도.

그럼에도 불구하고, 우리는 전문가들이 발언하기까지 10 개월을 기다린 것으로 보입니다. 그래서 이것이 그렇게하지 않으면 스스로 해결해야 할 것입니다. 그래도 R에서 엉망이 되길 원한다는 것을 명심하십시오. R에 관심있는 GLM 함수를 지정할 수 있다면 응용 프로그램에 대해 # 3에 더 직접 응답하는 방법을 알아낼 수있을 것입니다. 시뮬레이션 테스트 전문가도 아니지만 다른 네 가지 질문은 시뮬레이션 테스트를 거칠 수 있다고 생각합니다 (직접) 너무.


2
+1 인상적인 신중한 반응. CV에 오신 것을 환영합니다, Nick!
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.