이 답변은 Google+ 의 R and Statistics 커뮤니티 에이 질문을 게시했을 때 멋진 답변을 준 @Joshua에게이 답변 을 제공했습니다 . 나는 단순히 그의 대답을 아래에 붙여 넣습니다.
잠재 변수 모델링없이 회귀를 실행하려면 인용 텍스트 뒤에 입력 한 메모를 읽으십시오.
사용 가능한 모든 데이터 (소위 FIML)에서 최대 가능성으로 누락 된 데이터를 처리하는 것은 매우 유용한 기술입니다. 그러나 일반적인 방법으로 구현하기 어려운 여러 가지 문제가 있습니다. 연령, 성별 및 직업 유형의 지속적인 결과를 예측하는 간단한 선형 회귀 모델을 고려하십시오. OLS에서는 연령, 성별 및 직업 분포에 대해 걱정할 필요가 없으며 결과 만 있습니다. 일반적으로 범주 형 예측 변수의 경우 더미 코드화됩니다 (0/1). ML을 사용하려면 누락 된 모든 변수에 분포 가정이 필요합니다. 지금까지 가장 쉬운 방법은 다변량 정규 (MVN)입니다. 예를 들어 변수 유형 (예 : 범주 형)을 선언하지 않는 경우 Mplus가 기본적으로 수행하는 작업입니다. 내가 준 간단한 예에서 당신은 아마 나이는 정상, 성은 Bernoulli, 직업 유형은 multinomal이라고 가정하고 싶을 것입니다. 후자는 실제로 바이너리 변수가 여러 개이기 때문에 까다 롭지 만 Bernoulli로 취급하고 싶지 않습니다. 즉, 더미 코딩 된 변수로 작업하고 싶지 않고 ML 범주 추정기가 다항식을 올바르게 사용할 수 있도록 실제 범주 형 변수로 작업해야하지만 더미 코딩 프로세스를 모델에 내장해야합니다. 데이터가 아닙니다. 다시 인생을 복잡하게합니다. 또한, 연속 및 범주 형 변수의 공동 분포는 계산하기가 쉽지 않습니다 (Mplus에서 이와 같은 문제가 발생하면 꽤 빨리 분해되고 어려움을 겪기 시작합니다). 마지막으로 누락 된 데이터 메커니즘을 이상적으로 지정하십시오. SEM 스타일 인 FIML에서 모든 변수는 기본적으로 다른 모든 변수에 따라 조정되지만 반드시 정확한 것은 아닙니다. 예를 들어, 연령은 성별 및 직업 유형이 아닌 상호 작용 기능으로 누락되었을 수 있습니다. 상호 작용은 초점 결과에 중요하지 않을 수 있지만, 연령의 누락에 중요한 경우, 반드시 실질적인 관심 모델 일 필요는 없지만 누락 된 데이터 모델 일 수도 있습니다.
lavaan은 MVN에 ML을 사용하지만, 현재는 범주 형 데이터 옵션이 제한적이라고 생각합니다 (SEM 분야에서 나오지만 이는 표준입니다). 다중 대치는 FIML 뒤에 숨겨진 많은 가정을 명시 적으로하기 때문에 처음에는 덜 우아해 보입니다 (예 : 모든 변수에 대한 분포 가정 및 모든 변수에서 누락에 대해 가정 한 예측 모델). 그러나 각 변수의 분포에 대해 많은 제어와 명시 적 사고를 제공하며 각 변수에 대한 최적의 결측 데이터 메커니즘이 중요합니다.
베이지안 모델이 누락 된 데이터를 처리하는 방법이라고 점점 더 확신하고 있습니다. 그 이유는 각 변수에 대한 분포를 포함하는 데 매우 유연하여 다양한 유형의 분포를 허용하고 예측 변수에 누락 된 데이터로 인한 변동성을 전체 모형 추정치에 쉽게 통합 할 수 있기 때문입니다. 그런 다음 어떻게 든 결과를 결합해야합니다). 물론, 이러한 방법은 가장 쉬운 방법이 아니며 많은 훈련과 사용 시간이 걸릴 수 있습니다.
따라서 그것은 실제로 귀하의 질문에 대답하지는 않지만 누락을 처리하기위한 완전히 일반적인 프레임 워크가 까다로운 이유를 설명합니다. 공분산 행렬에 대한 semutils 패키지에서 ML을 사용하기 위해 아래에 lavaan을 사용합니다. 분산 공분산 행렬에 대해 계속 변수를 사용하고 있다고 가정하기 때문에 사용자가 이미 데이터에 대해 MVN을 가정하고 있다고 가정합니다.
missingness 모든 변수가 연속 인 경우 있음이 수단 lavaan , 구조 방정식 모델링 (SEM)을 패키지에 R. FIML 사용할 좋은 하나이다
이제 첫 질문으로 돌아가겠습니다. 내 의도는 선형 회귀를 실행할 때 누락에 대한 마술 픽스를 갖는 것이 었습니다. 누락 된 모든 변수는 훌륭하고 연속적이었습니다. 그래서 두 가지 스타일로 분석을 진행했습니다.
- 여러 대치로 일반적인 방법
- FIML을 사용하는 용암이있는 SEM 스타일.
SEM 스타일로 회귀를 수행하여 많은 것을 놓쳤습니다. 두 스타일 모두 비슷한 계수와 R 제곱을 주었지만 SEM 스타일에서는 회귀에 대한 유의성 테스트 (df가있는 전형적인 F 값)를 얻지 못했습니다. 대신 모든 학위를 다 사용했을 때 도움이되지 않은 지수를 얻었습니다. 자유의. 또한 한 모델이 다른 모델보다 큰 R2를 가지고있을 때 차이가 큰지 비교할 수있는 방법을 찾지 못했습니다. 또한 일반적인 방법으로 회귀를 수행하면 귀중한 회귀 가정을 테스트 할 수 있습니다. 이 문제에 대한 자세한 답변 은 @StasK 가 잘 대답 한 다른 질문 을 참조하십시오 .
결론은 lavaan이 R에서 FIML을위한 알맞은 패키지라는 것 같습니다. 그러나 FIML의 사용은 통계적 가정과 수행하는 분석 유형에 따라 다릅니다. 잠재적 변수 모델링없이 회귀가 진행되는 한 SEM 프로그램에서 제외하고 다중 대치를 사용하는 것이 현명한 조치 일 것입니다.