AMELIA II - 1. Introduction (PART01)

AMELIA II: A Program for Missing Data

James Honaker, Gary King, and Matthew Blackwell

Version 1.7.4
December 5, 2015

Vignettes:
view-source:https://cran.r-project.org/web/packages/Amelia/index.html

1 소개(Introduction)

결측 데이터(Missing data)는 사회 과학 데이터에서 어디에서나 있는 문제이다. 응답자는 모든 문제에 대답하지 않는다, 국가는 매 년 통계를 수집하지 않는다, 기록은 불완전하다, 주제는 질문에서 제외된다. 대부분의 통계 분석 방법, 어쨌든, 결측 데이터 부재(absence: 없음)를 추정한다, 그리고 모든 변수는 측정된 관측만 오로지 포함할 수 있다. Amelia II는 사용자가 불완전한 데이터 전가(impute: "채움" 또는 rectangularize)를 허용한다 그래서 완전한 관측을 요구하는 분석은 결측이 있는 데이터셋에 모든 정보를 표현한 것을 근사적으로 사용할 수 있다, 그리고 편향(biases), 비효율(inefficiencies), 그리고 분석에서 모든 부분적으로 관측된 관측치를 제외하여 결과를 산출한 바르지 못한 불확실한 추정을 피한다.
Amelia II는 다중 전가(multiple imputation)를 수행한다, 일반-목적은 결측 값을 가지는 데이터에 접근한다. 다중 전가는 편향의 감소를 보여주고 그리고 일률적 삭제(listwise deletion)에 비해 효율이 증가된다. 게다가, 전가의 ad-hoc 메서드는, 평균 전가(mean imputation) 같은, 분산과 공분산을 심각한 편향으로 이끌 수 있다. 불운하게도, 다중 전가 생성은 관련 알고리즘의 기술 특성 때문에 부담이 되는 과정(burdensome process)이 될 수 있다. Amelia는 전가 모델을 생성하고 구현하는 사용자에게 단순한 방법을 제공한다, 전가 데이터셋 생성, 그리고 진단(diagnostics)을 사용하는 그것의 적합 확인.
Amelia II 프로그램은 Amelia 처음 버전(Honaker, Joseph, King, Scheve and Singh., 1998-2002)의 능력을 넘어서는 몇 개의 의미있는 단계를 진행했다. 하나는, Amelia II에 포함된 부트스트램 기반 EMB 알고리즘은 더 많이 다양하게 전가(impute)할 수 있다, 더 많은 관측에서, 상당히 적은 시간으로. 엄청난 단순함과 EMB 알고리즘의 힘은 Amelia II를 작성할 수 있게 만든다 그래서 그것은 사살상 결코 중돌하지 않는다 - 우가가 알고 있는 한 현존하는 그것이 모든 다중 전가 소프트웨어에서 유일하다 - 그리고 또한 대안 보다 매우 빠르다. Amelia II 또한 유효하게 만드는 특징을 가진다 그리고 횡단면(cross-sectional), 시계-열(time-series), 그리고 시계-열-횡단면(time-series-cross-section) 데이터를 위해 전가를 더 많이 가속한다, 그리고 관측 통합(incorporation of observation)과 데이터-메트릭스-셀(data-matrix-cell) 수준 사전 정보를 허용한다. 이 모든 것 외에도, Amelia II는 사용자가 그들의 전가 모델의 타당성을 확인을 돕는 많은 특징적인 함수를 제공한다.

2 Amelia 무엇을 하는가 (What Amelia Does)

다중 전가(Multiple imputation)는 당신의 데이터 행렬에서 각 결측 셀에서 m개 값 전가를 포함하고 그리고 m개의 완전 데이터 셋을 생성한다. 이러한 완전한 데이터 셋 전체에서, 관측된 값은 같다, 그러나 결측치에 대해 불확실성을 반영한 전가 분포를 가지고 결측치는 채워진다. Amelia II의 EMB 알고리즘으로써 전가 후에, 당신이 사용하는 통계적 방법이 무엇이든 간에 적용할 수 있다 만약 m 데이터 셋 각 셀에 결측치가 없으면, 그리고 단순한 절차를 사용한다, 아래에 설명됨, 결과를 묶기 위함. 정규 환경 하에, 당신은 오직 한번만 전가 작업을 할 필요가 있다 그다음 많은 시간을 가지고 m 전가 데이터 셋을 분석한다 그리고 당신이 원하는 한 많은 목적에서. Amelia II 이점은 다중 전가의 힘으로써 상대적인 빠른 속도와 우리의 알고리즘의 쉬운 사용성을 묶는다, 당신에게 각 새로운 데이터 셋에서 응답이 없는 경우에 당신의 실질적인 연구에 집중 하도록. 결측의 비가 매우 높지 않다면, m = 5 (프로그램 기본)은 아마도 적절하다.

2.1 추정 (Assumptions)

Amelia II에서 전가 모델은 완전한 데이터(이것은, 관측 및 비관측 모두)가 다변량 정규라고 가정한다. 만약 우리가 (n × k) 데이터셋을 D(관측 부분은 Dobs 그리고 비관측 부분 Dmis을 가짐)로 나타내면, 그리면 이 추정은
이다, D는 평균 벡터 μ 그리고 공변량 행렬 Σ를 가지는 다변량 정규 분포(multivariate normal distribution)를 가진다고 나타내는 경우. 다변량 정규 분포는 종종 데이터의 참 분포에 조잡하게 근사한다, 그리나 이 모델은 다른 것들 많큼 잘 작동한다, 범주형 또는 혼합 데이터의 측면에서 더 복잡한 모델(see Schafer, 1997; Schafer and Olsen, 1998). 게다가, 많은 타입의 변수 변환은 종종 이 정규성 추정을 더 그럴듯하게 만들 수 있다 (Amelia에서 이것을 수행하는 방법에 더 자세한 사항은 4.4를 보라).
전가의 본질적인 문제는 우리가 단지 Dobs만 관측하는 것이다, D의 전체가 아님. 견인하기 위해, 우리는 데이터가 임의의 결측치(missing at random (MAR))가 있는 다중 전가에서 일반적인 가정을 세울 필요가 있다. 이 가정은 결측의 패턴은 관측된 데이터 Dobs에서 유일하게 의존한다는 것을 의미한다, 관측되지 않는 데이터 Dmis가 아님. 결측 행렬을 M으로 놓자, 만약 dij ∈ Dmis이면 셀 mij = 1을 가짐 그렇지않으면 mij = 0. 단순하게 놓자, M은 셀이 데이터에서 결측인지 아닌지 가리키는 행렬이다. 이것으로, 우리는 다음으로 MAR 가정을 정의할 수 있다:
MAR는 결측 값이 임의로 생성될 때의 경우를 포함함에 주목하라, 말하면, 동전 던지기(coin flips), 그러나 그것은 더 많이 매우 복잡한 결측 모델을 포함한다. 결측이 전혀 데이터에 의존하지 않는다면, 우리는 데이터는 임의로 완전한 결츨(missing completely at random (MCAR))이라 말한다. Amelia는 다변량 정규성과 MAR 추정(또는 MCAR의 더 단순히 특별한 경우)을 요구한다. MAR 가정은 단 이들은 분석 모델에서 사용되기 위해 결국 구상되는 것 보다 전가 데이터셋에서 데이터셋 D에 추가적으로 값을 포함함으로써 더 그럴듯하게 만들 수 있다는 점에 주의.

2.2 Algorithm

다중 전가에서, 우리는 완전한-데이터 변수와 관계된다, Θ = (μ, Σ). 데이터 모델을 기록할 때, 그것은 우리의 관측 데이터는 실제로 Dobs 그리고 M, 결측 행렬, 임이 분명하다. 그리므로, 우리의 관측 데이터의 우도는 p(Dobs, M | Θ). MAR 추정을 사용하여, 우리는 이것을 분리할 수 있다,
우리는 단지 완전한 데이터의 추론에 대해 관심을 가진다, 우리는 우도를 다음으로 쓸 수 있다
이것은 우리가 아래 처럼 반복 기대 법칙을 이용하여 재정의 할 수 있다:
이 우도와 Θ에서 앞의 평평도(flat)을 가지고, 우리는 다음을 불 수 있다:
완전하지 않은 데이터 분석에서 주요 계산법의 어려움은 이 사후 작업으로 이끈다. EM 알고리즘(Dempster, Laird and Rubin, 1977) (기대값 최대화 알고리즘, ㄷ)은 사후에 모드(mode)를 찾기 위한 단순한 계산 접근법이다. 우리 EMB 알고리즘은 이 사후에서 유도되는 부트스트랩 알고리즘을 가지는 전통적인 EM 알고리즘을 결합했다. 각 유도에서, 불확실한 추정을 시뮬레이트하기 위해 부트스트랩을 허용한다 그다음 부트스트랩 처리된 데이터에, 너무나 근본적으로 불확실성을 우리에게 줌, 선행의 모드를 찾기 위해 EM 알고리즘(기대값 최대화 알고리즘, expectation-maximization algorithm)을 실행한다, 우리에게 역시 근본적인 불확실성을 주어짐(EMB 알고리즘의 상세를 위해 Honaker and King (2010)를 보라)
일단 우리는 완전한-데이터 변수의 사후 유도를 가지므로, 우리는 그것의 분포 조건 Dobs에서 Dmis의 값을 유도함으로써 전가를 수행한다 그리고 Θ의 유도, Θ에서 직접 계산될 수 있는 변수의 선형 회귀.

2.3 Analysis

m 데이터 셋 전체에서 결과를 결합하기 위해, 먼저 계산할 관심의 량을 결정해라, 단변량 평균, 회귀 계수, 예측 가능성, 또는 첫번째 차이 같은. 그러면, 가장 쉬운 방법은 m 데이터 셋의 각 요소에서 q의 1/m 시뮬레이션을 유도한다, 그들을 m 시뮬레이션의 하나의 집합으로 묶는다, 그다음 단일 데이터 셋에서 해석 공통의 표준 시뮬레이션-기반 방법을 사용하기 위해(King, Tomz and Wittenberg, 2000).
대안으로, 당신은 직접 결합할 수 있다 그리고 이 변수를, q, m의 분할 추정의 평균, qj (j = 1, ..., m), 다중 전가 추정처럼 사용하다:
Figure 1: EMB 알고리즘을 가지는 다중 전가에서 우리 접근의 개략도.
점 추정의 분산은 각 완전한 데이터 셋 안에서 추정된 분산의 평균이다, 데이터 셋 전체에서 점 추정에서 단순한 분산을 더함 (편향을 바로잡는 요소로 곱함 왜냐하면 m < ∞). SE(qj)2는 데이터 셋 j에서 qj의 추정된 분산 (제곱 표준 에러: squared standard error), 그리고 Sq2 = Σj=1m (qj − q)2 / (m − 0) 는 m 점 추정 전체에서 단순히 분산이 되게 나타낸다. 다중 전가 점 추정의 표준 에러는 다음의 제곱근이다.

3 Versions of Amelia

Amelia II의 버전은 사용 가능하다, 그것의 이점과 단점(drawbacks)을 각각 가짐, 그러나 둘 모두 같은 기본 코드(underlying code)와 알로리즘을 가짐. 먼저, Amelia II는 R 통계 소프트웨어 패키지로 패키지로 존재한다. 사용자는 명령 라인에서 Amelia II를 실행하기 위해 또는 Amelia II를 실행하거나 나중에 사용할 명령어를 보존하기 위한 스크립트를 만들기 위해 R 언어의 그들의 지식을 이용할 수 있다. 대안으로, 당신은 AmeliaView를 선호할 것이다, 상호작용하는 그래픽 유저 인터페이스(Graphical User Interface (GUI))는 당신이 R 프로그램 언어의 어떤 지식없이 옵션을 설정하거나 Amelia를 실행하는 것을 허용한다.
Amelia II의 버전 둘 모두는 Windows, Mac OS X, 그리고 Linux 플랫폼에서 사용 가능하다 그리고 R에서 Amelia II는 R 가능한 어떤 환경에서 R 실행한다. Amelia의 모든 버전은 R 소프트웨어를 요구한다, http://www.r-project.org/ 에서 자유롭게 이용 가능함.
Amelia II를 설치하기 전에, 당신은 R 버전 2.1.0 또은 더 높게 설치해야 한다, http://www.r-project.org/에서 자유롭게 사용 가능하다.

3.1 Installation and Updates from R

어떤 플랫폼에서든지 Amelia 패키지를 설치함은, 단순히 R 명령어 프롬프트에서 아래를 입력한다.
> install.packages("Amelia")
그리고 R 자동으로 CRAN 에서 당신의 시스템에 패키지를 설치할 것이다. 만약 당신이 테스트 버전을 설치하기 위해 무료의 Amelia의 가장 최신의 베타 버전 사용을 원한다면,
> install.packages("Amelia", repos = "http://gking.harvard.edu")
당신의 Amelia 복사본을 완전한 최신으로 유지하기 위해, 당신은 아래 명령어를 사용할 수 있다
> update.packages()

3.2 독립 실행 프로그램으로써 AmeliaView의 윈도우에서 설치
Installation in Windows of AmeliaView as a Standalone Program

윈도우 환경에서 AmeliaView의 독립 실행 버전을 설치하기 위해, 단순히 http://gking.harvard.edu/amelia/에서 인스톨러 setup.exe를 다운로드하고 그리고 그것을 실행해라. 인스톨러는 Amelia II를 설치하기 위한 위치를 선택하기 위해 당신에게 묻는다. 만약 당신이 기본 옵션으로써 R을 설했다면, Amelia II는 자동으로 R의 위치를 찾을 것이다. 만약 인스톨러가 R을 찾을 수 없으면, 그것은 당신에게 R의 가장 최신 버전의 디렉토리 위치를 물을 것이다. R의 버전 번호(e.g. C:/Program Files/R/R-2.9.0)를 포함하고 그리고 하위 디렉토리 이름이 bin을 포함하는 디렉토리 이름을 선택을 확실히 해라. 인스톨러는 당신의 데스크탑과 시작 메뉴에 단축 아이콘을 넣는다.
사용자가 R 언어에 친숙하더라도 변수에 옵션을 설정, 인수 변경, 또는 분석을 실행하기 위해 AmeliaView를 이용하는 그것의 유용성을 찾을 것이다. 명령어 라인에서, AmeliaView는 아래 호출로 가져올 수 있다:
> library(Amelia)
> AmeliaView()

3.3 Linux (local installation)

Linux 시스템에서 Amelia 설치는 사용자 승인(permissions) 때문에 약간 더 복잡하다. 만약 당신이 root 접속으로 R을 실행하면, 당신은 단순히 위에 설치 절차를 실행할 수 있다. 만약 당신이 root 접속을 갖지 않는다면, 당신은 로컬 라이브러리에 Amelia를 설치할 수 있다. 먼저, 패키지를 거치하기위해 로컬 디렉토리를 생성해라,
w4:mblackwell [~]: mkdir ~/myrlibrary
그다음, R 세션에서, 이 위치로 R에 지시하는 패키지를 설치해라:
> install.packages("Amelia", lib = "~/myrlibrary")
이것이 완성되자마자 당신은 R 프로파일을 수정하거나 생성할 필요가 있다. 당신의 홈 디렉토리에서 ~/.Rprofile를 위치시키거나 또는 생성하라 그리고 이 명령어를 실행하라:
.libPath("~/myrlibrary")
이것은 당신이 라이브러리를 적재할 때 R이 찾는 라이브러리 경로의 목록을 당신의 로컬 라이브러리에 추가할 것이다.
Linux 사용자는 R의 Amelia 윈도우 사용자와 같이 같은 방법으로 AmeliaView를 사용할 수 있다. 명령어 라인에서, AmeliaView는 아래 호출로 가져올 수 있다:
> AmeliaView()

댓글 없음:

댓글 쓰기