AMELIA II - 4. A User's Guide (PART02)

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

4 A User's Guide

4.1 Data and Initial Results

우리는 Milner and Kubota (2005)의 데이터를, 무역 정책에 대한 민주주의 효과 연구, 이용하여 Amelia 사용하는 방법을 보여준다. 이 사용자 가이드 목적으로, 우리는 1980부터 1993년까지 아시아에서 개발도상 국가 9개로 한정된 하위집합을 사용할 것이다. 이 데이터셋은 9개의 변수를 포함한다: 년도(year), 국가(country), 평균 관세율 (tariff), 정치 형태 IV 점수 (Polity IV score: polity), 전체 인구 (pop), 1인당 국내 총 생선 (gross domestic product per capita: gdp.pc), 총 국제 예비비 (gross international reserves: intresmi), 국가가 그 해에 IMF 조약에 사인했는지 여부를 의미하는 가상 변수(signed), 금융 개방 측정 (measure of nancial openness: fivop), 그리고 미국 패권 측정(usheg). 이러한 변수는 table 2에 Milner and Kubota (2005)의 분석 모델에서 사용된 변수에 해당한다.
우리는 먼저 Amelia와 데이터를 적재한다:
> require(Amelia)
> data(freetrade)
우리는 많은 변수에서 결측이 있는지 보기위해 데이터의 요약 통계량을 확인할 수 있다:
> summary(freetrade)

     year            country           tariff          polity
Min.   :1981      Length:171        Min.   :  7.1   Min.   :-8.0
1st Qu.:1985      Class :character  1st Qu.: 16.3   1st Qu.:-2.0
Median :1990      Mode  :character  Median : 25.2   Median : 5.0
Mean   :1990                        Mean   : 31.6   Mean   : 2.9
3rd Qu.:1995                        3rd Qu.: 40.8   3rd Qu.: 8.0
Max.   :1999                        Max.   : 100.0  Max.   : 9.0
                                    NA's   : 58     NA's   :2

      pop             gdp.pc            intresmi       signed
Min.   :1.41e+07  Min.   : 150      Min.   :0.904   Min.   :0.000
1st Qu.:1.97e+07  1st Qu.: 420      1st Qu.:2.223   1st Qu.:0.000
Median :5.28e+07  Median : 814      Median :3.182   Median :0.000
Mean   :1.50e+08  Mean   : 1867     Mean   :3.375   Mean   :0.155
3rd Qu.:1.21e+08  3rd Qu.: 2463     3rd Qu.:4.406   3rd Qu.:0.000
Max.   :9.98e+08  Max.   :12086     Max.   :7.935   Max.   :1.000
NA's   :13        NA's   :3


    fiveop             usheg
Min.   :12.3      Min.   :0.256
1st Qu.:12.5      1st Qu.:0.262
Median :12.6      Median :0.276
Mean   :12.7      Mean   :0.276
3rd Qu.:13.2      3rd Qu.:0.289
Max.   :13.2      Max.   :0.308
NA's   :18

결측치 데이터 표현에서, 대부분의 통계적 패키지는 목록별 삭제(listwise deletion)를 사용한다, 분석에서 결측 값을 가지는 어떤 행을 삭제함. Milner and Kubota (2005) table 2의 기본 모델 사용은, 우리는 R 에서 단순한 선형 모델을 실행한다, 목록별 삭제를 사용.
> summary(lm(tariff ~ polity + pop + gdp.pc + year + country,
+         data = freetrade))

Call:
lm(formula = tariff ~ polity + pop + gdp.pc + year + country,
   data = freetrade)

Residuals:
    Min     1Q Median    3Q    Max
-30.764 -3.259  0.087 2.598 18.310

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)         1.97e+03 4.02e+02    4.91  3.6e-06
polity             -1.37e-01 1.82e-01   -0.75     0.45
pop                -2.02e-07 2.54e-08   -7.95  3.2e-12
gdp.pc              6.10e-04 7.44e-04    0.82     0.41
year               -8.71e-01 2.08e-01   -4.18  6.4e-05
countryIndonesia   -1.82e+02 1.86e+01   -9.82  3.0e-16
countryKorea       -2.20e+02 2.08e+01  -10.61  < 2e-16
countryMalaysia    -2.25e+02 2.17e+01  -10.34  < 2e-16
countryNepal       -2.16e+02 2.25e+01   -9.63  7.7e-16
countryPakistan    -1.55e+02 1.98e+01   -7.84  5.6e-12
countryPhilippines -2.04e+02 2.09e+01   -9.77  3.7e-16
countrySriLanka    -2.09e+02 2.21e+01   -9.46  1.8e-15
countryThailand    -1.96e+02 2.10e+01   -9.36  3.0e-15

Residual standard error: 6.22 on 98 degrees of freedom
  (60 observations deleted due to missingness)
Multiple R-squared: 0.925,         Adjusted R-squared: 0.915
F-statistic: 100 on 12 and 98 DF,  p-value: <2e-16
171 건의 원본 관측의 60은 결측으로 인해 지워졌음을 주목하라. 이러한 관측은, 어쨌든, 부분적으로 관측된다, 그리고 부분적으로 완전한 관측에서 표현되는 이런 변수들 사이의 관계에 대해 변수 정보를 가진다. 다중 전가는 우리가 그 정보를 얻도록 도와줄 것이디가 그리고 더 좋게, 더 효율적, 추론을 하게 한다.

4.2 다중 전가 (Multiple Imputation)

다중 전가를 수행할 때, 처음 단계는 전가 모델에 포함될 변수를 구별해야 한다. 그것은 분석 모델에 사용되어질 것으로 적어도 더 많은 정보를 포함함이 결정적이다. 그것은, 분석 모델에서 사용할 어떤 변수는 또한 전가 모델에 있어야 한다. 이것은 분석 모델에서 나타나게 될 어떤 변환 또는 변수의 상호 작용을 포함한다.
사실, 그것은 분석을 실행할 때 표현되는 것 보다 전가 모델에 더 많은 정보를 추가함이 종종 유용하다. 전가는 예측적이기 때문에, 예측력을 증가하는 어떤 변수는 모델에 포함되여야 한다, 비록 분석에 그들을 포함함은 인과 관계 효과(causal effect)(사후 처리 변수에서와 같이)의 추정에서 편향을 만들거나 또는 공선성(collinearity)은 어느 변수가 종족 변수와 관계를 가지는지 결정을 배제할 (GDP의 다중 대용 측정을 포함하는 것 처럼) 지라도. 우리의 경우에, 우리는 전가 모델에 freetrade의 모든 변수를 포함한다, 비록 우리의 분석 모델을 polity, pop 그리고 gdp.pc에 초점을 맞출 지라도.
Amelia에서 다중 전가를 생성하기 위해, 우리는 단순히 실행할 수 있다
> a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country")

-- Imputation 1 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14

-- Imputation 2 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

-- Imputation 3 --

1 2 3 4 5 6 7 8 9

-- Imputation 4 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14

-- Imputation 5 --

1 2 3 4 5 6 7 8 9 10

> a.out

Amelia output with 5 imputed datasets.
Return code:  1
Message:  Normal EM convergence.

Chain Lengths:
--------------
Imputation 1:  14
Imputation 2:  15
Imputation 3:  9
Imputation 4:  14
Imputation 5:  10
우리의 표본 데이터셋은 변수와 그리고 횡단면(cross-sectional) 요소 둘 모두에서 의도적으로 작게 했음을 주의. 전형적인 데이터셋은 수백개를 가지거나 또는 EM 알고리즘에서 아마도 몇 천 단계를 가질 것이다. 긴 사슬은 분석가가 변수 변환이 모델의 다변량 정규 가정에 더 가깝게 적합할지 아닌지를 마음에 두어야 한다 (정확하게 단지 제외된 변환은 단계 수를 줄이고 그리고 전가의 적합을 향상시킬 것입니다). 그러나 전가 모델에 문제를 나타낼 필요가 없다.
결과는 알고리즘의 실행 방법에 대해 약간의 정보를 제공한다. 전가된 데이터셋의 각각은 지금 목록 a.out$imputations에 있다. 그러므로, 우리는 3번째 전가에서 tariff 변수로 히스토그램을 그릴 수 있다,
> hist(a.out$imputations[[3]]$tariff, col="grey", border="white")
Figure 2: 3번째 전가된 데이터셋에서 tariff 변수의 히스토그램

4.2.1 전가된 데이터셋의 저장 (Saving imputed datasets)

만약 당신의 전가된 데이터셋을 저장할 필요가 있다면, 하나의 직접적인 방법은 amelia의 출력 목록을 저장해야 한다.
> save(a.out, file = "imputations.RData")
이전 예에서 처럼, i번째 전가 데이터 셋은 a.out$imputations[[i]]으로 이 목록에서 획득할 수 있다.
게다가, 당신은 write.amelia 명령어를 사용하여 그 자신의 파일에 전가된 데이터셋 각각을 저장할 수 있다,
> write.amelia(obj=a.out, file.stem = "outdata")
이것은 아래의 방식으로 각 전가된 데이터셋을 위한 쉼포-구분된 값의 파일 하나를 생성할 것이다:
outdata1.csv
outdata2.csv
outdata3.csv
outdata4.csv
outdata5.csv
write.amelia 함수는 탭-구분 그리고 Stata(.dta) 파일 형식으로 파일을 또한 저장할 수 있다. 예로, Stata 파일을 저장하기 위해, 단순히 format 인수를 "dta"로 변경한다.
> write.amelia(obj=a.out, file.stem = "outdata", format = "dta")
추가적으로, write.amelia은 각 혼합된 데이터셋을 차곡차곡 쌓는 전가된 데이터셋의 "stacked" 버전을 생성할 수 있다. 이것은 separate 인수를 FALSE로 설정으로 수행한다. 결과 행렬은 크기 (N • m) × p 이다 만약 원본 데이터셋이 배제된다면 (orig.data = FALSE) 그리고 (N • (m + 1)) × p 크기 만약 그것이 포함된다면 (orig.data = TRUE). 쌓여진 데이터셋은 관측이 속한 전가된 데이터셋이 어느 것인지 가리키는 변수(impvar를 설정)를 포함할 것이다. Stata에서 mi 명령어로 이 stacked dataset을 사용하기 위한 방법의 설명은 4.10 절을 보라.

4.2.2 다중 Amelia 실행 결합 (Combining Multiple Amelia Runs)

EMB 알고리즘은 컴퓨터 과학자를 난처하게 하는 병렬(embarrassingly parallel)로 호출한다, 그것은 단순히 병렬 처리로 각 전가를 분리함을 의미함. Amelia 에서 그것은 다른 기계에 전가의 하위집합을 단순히 실행하고 그다음 분석 모델에서 사용하기 위해 전가한 후에 그것들을 결합한다. 이것은 알고리즘 속도를 현저하게 증가하도록 허용한다.
다른 Amelia 실행의 결과 목록은 새로운 목록으로 함께 묶여질 수 있다. 예로, 우리가 amelia의 이전 호출로 10개의 전가된 데이터셋의 추가를 원한다고 가정하자. 먼저, 이러한 추가적인 전가를 얻기 위한 함수를 실행한다.
> a.out.more <- amelia(freetrade, m = 10, ts = "year", cs = "country", p2s=0)
> a.out.more

Amelia output with 10 imputed datasets.
Return code: 1
Message: Normal EM convergence.

Chain Lengths:
--------------
Imputation 1: 12
Imputation 2: 13
Imputation 3: 13
Imputation 4: 14
Imputation 5: 17
Imputation 6: 15
Imputation 7: 15
Imputation 8: 15
Imputation 9: 15
Imputation 10: 19
그러면 ameliabind 함수를 사용하여 우리의 원본 결과를 가지고 이 결과와 결합한다,
> a.out.more <- ameliabind(a.out, a.out.more)
> a.out.more

Amelia output with 15 imputed datasets.
Return code: 1
Message: Normal EM convergence

Chain Lengths:
--------------
Imputation 1: 14
Imputation 2: 15
Imputation 3: 9
Imputation 4: 14
Imputation 5: 10
Imputation 6: 12
Imputation 7: 13
Imputation 8: 13
Imputation 9: 14
Imputation 10: 17
Imputation 11: 15
Imputation 12: 15
Imputation 13: 15
Imputation 14: 15
Imputation 15: 19
이 함수는 같은 출력으로 2개의 출력을 묶는다 그래서 당신은 묶여진 전가를 쉽게 분석 모델과 진단으로 전달할 수 있다. a.out.more은 지금 전체 15개의 전가를 가짐에 주목하라.
Amelia를 가지고 병렬 처리 스킴을 실행하는 단순한 방법은 m 집합을 m개의 다른 머신 또는 프로세서에 1로 하여 amelia 실행하는 것이다, save 함수를 사용하여 각 결과를 저장한다, 그들을 load 함수를 사용하여 같은 R 세션에 모두 적재한다 그다음 ameliabind을 사용하여 그들을 결합한다. 이것을 하기 위해, 어쨌든, 각 결과를 다른 이름으로 주었는지 확실히 해라 그러면 그들은 같은 R 세션으로 적재할 때 서로 덮어 쓰지 않는다. 또한, 어떤 병렬 환경은 모든 생성된 파일을 같은 디렉토리로 덤프(dump)할 것이다, 그들은 아마 서로 덮어쓸 것이다. 만약 그것이 간단한 코드 조각으로 상당히 많은 amelia 호출을 실행하는 병렬 환경에서 편리하다면, 덮어 쓰기를 피하는 하나의 유용한 방법은 무작위 접미사를 가지는 file.stem를 호출해야 한다. 예로:
> b<-round(runif(1,min=1111,max=9999))
> random.name<-paste("am",b,sep="")
> amelia <- write.amelia(obj=a.out, file.stem = random.name)

4.2.3 화면 출력 (Screen Output)

화면 출력은, p2s, "print to screen" 인수를 가지고 적용할 수 있다. 0의 값은, 화변 출력이 발생하지 않을 것이다. 이것은 대량 작업 또는 매우 거대한 수의 전가 모델이 요구되는 시뮬레이션에서 유용할 것이다. 기본값은 1이다. 각 부트스트랩 목록을 출력하고, 그리고 그 부트스트랩 데이터셋에서 수렴에 도달하기 위해 요구되는 반복 수를 보여준다. 값 2는 더 상세히 화면 출력을 제공한다, 포함, 각 반복에서, 마지막 반복 까지 의미있는 변화를 가지는 변수의 수. 이것은 EM 사슬 길이(chain length)가 매우 길 때 유용할 것이다, EM 사슬에서 여전히 수렴을 필요한 많은 변수에서 직관적으로 제공할 수 있는 것과 같이, 그리고 남은 시간의 의미에서. 어쨌든, 그것은 마지막 몇 개의 변수는 수렴을 위해 전체 반복 수에서 의미있는 부분을 종종 가지는 것이 없음에 가치가 있다. p2s를 2로 설정은 또한 EM 알고리즘이 어떻게 행동하는지에 대한 정보를 생성할 것이다, 현재 추정된 완전한 데이터 공변량 행렬이 반전 가능하지 않을 때 a ! 그리고 우도가 그 단계에서 단순하게 증가되지 않을 때 a * 인 것처럼. 화면 출력에서 이런 2개의 기호가 많이 보이는 것은 문제가 있는 전가 모델을 의미한다.
p2s 가 2일 때 출력의 예는
> amelia(freetrade, m = 1, ts = "year", cs = "country", p2s = 2)

amelia starting
beginning prep functions
Variables used: tariff polity pop gdp.pc intresmi signed fiveop usheg
running bootstrap

-- Imputation 1 --
setting up EM chain indicies

  1(44) 2(34) 3(31) 4(25) 5(24) 6(23) 7(20) 8(17) 9(15) 10(14) 11(6) 12(6) 

 saving and cleaning

Amelia output with 1 imputed datasets.
Return code: 1
Message: Normal EM convergence.

Chain Lengths:
--------------
Imputation 1: 15

4.3 멀티코더 CPU를 사용하는 병렬 전가
(Parallel Imputation Using Multicore CPUs)

위의 EMB 알고리즘에서 각 전가는 어떤 다른 전가와 완전한 독립이다, 당황스런 병렬 처리라 불리는 특성. 이런 접근 형식은 현대적인 CPU의 멀티-코어 구조의 이점을 가질 수 있다. 멀티-코더 프로세서의 각 코어는 병렬로 독립적으로 실행할 수 있다. Amelia는 parallelncpus 인수를 통해서 내부적으로 병렬 처리를 이용할 수 있다. parallel 인수는 병렬로 처리하는 backend를 설정한다, "multicore" 또는 "snow" 을 가짐 (또는 병렬 처리 없음인 "no"). "multicore" backend는 윈도우 시스템에서 사용 가능하지 않다, 그러나 병렬 처리에서 더 빨라지는 경향이 있다. 윈도우 시스템에서, "snow" backend는 CPU 전체에서 작업자 프로세스의 클러스터를 통해 병렬 처리를 제공한다. 당신은 "amelia.parallel" 옵션을 사용하여 이 인수를 기본으로 설정할 수 있다. 이것은 amelia 호출 인수 설정 없이 하나의 R 세션에서 기본으로 병렬로 Amelia을 실행하도록 허락한다.
각 병렬 backend에서, Amelia는 병렬을 사용하기 위해 많은 CPU를 요구한다. 이것은 ncpus 인수를 사용하여 설정할 수 있다. 그것은 시스템의 물리적 코어의 수보다 더 많을 수 있다 만약 하이퍼쓰레딩(hyperthreading) 또는 다른 기술이 사용 가능하면. 당신은 당신의 머신에서 얼마나 많은 코어를 사용 가능한지 결정하기 위해 parallel::detectCores 함수를 사용할 수 있다. 인수의 기본은 amelia.ncpus 옵션을 사용하여 설정할 수 있다.
Unix-같은 시스템에서(Mac OS X 그리고 Linux 배포판 같은), "multicore" 벡엔트는 자동으로 설정되고 그리고 프로세스 포크(fork)로 병렬 작업자를 중지한다. 윈도우에서, "snow" backend는 더 많은 주의를 요구된다. Amelia는 작업자 프로세스의 병렬 클러스터 생성을 시도할 것이다 (윈도우 시스템은 프로세스 포크를 지원하지 않으므로) 그리고 전가가 완료된 후에 이 클러스터는 중지될 것이다. 대안으로, Amelia는 또한 cl 인수를 가진다, parallel::makePSOCKcluster을 사용하여 만들어진 사전-정의된 클러스터를 수용함. R에서 병렬 처리에 대한 더 많은 정보는, R 과 같이 포함된 parallel 패키지를 위한 문서를 보라.

4.4 전가-향상 변환 (Imputation-improving Transformations)

사회 과학 데이터는 다변량 정규 분포를 적합에 실패하는 변수를 일반적으로 포함한다. 사실, 수많은 모델은 그들이 표현하는 문제를 처리하기 위해 특별하게 소개된다. 결국, 문헌에서 많은 증거(discussed in King et al. 2001)는 이산 또는 정규 변수가 포함될 때 그리고 분석 단계에 이런 제한된 종속 변수 모델을 포함할 때 조차 전가 단계에서 Amelia의 보통의 작업에서 사용된 다변량 정규 모델을 가리킨다. 그럼에도 불구하고, Amelia는 서수나 명목 변수(ordinal and nominal variables)를 직접 처리하기 위해 그리고 다른 변환을 요구하는 변수를 수정하기 위해 약간의 한정된 능력을 포함한다. 일반적인 명목 그리고 로그 변환 변수에서는 Amelia에 선언해 주어야 한다, 서수형(이분산성 포함) 변수가 종종 있을 필요가가 없을 경우라도. (더 힘든 경우, (Schafer, 1997)를 보라, 이산 변수에서 특화된 MCMC-기반 전가 모델을 위해(for specialized MCMC-based imputation models for discrete variables).)
비록 이런 변환은 전가 모델의 다변량 정규 추정에서 데이터를 더 좋게 적합하기 위해 이런 변수에 내부적으로 선택된다, 생성되는 모든 전가는 데이터의 원본의 변환되지 않은 형태로 반환될 것이다. 만약 사용자가 그들 데이터에 변환을 이미 수행했다면(amelia에 데이터를 넣기 전에 로그 또는 제곱근을 취하는 것처럼), 이것은 선언될 필요가 없다, 전가 모델에 두번 변환이 발생하는 결과와 같음. 반환된 완전하게 전가된 데이터 셋은 amelia 루틴에 전달된 원본 데이터의 형태가 항상 동일할 것이다.

4.4.1 서수형(Ordinal)

많은 통적적 연구에서, 연구자는 마치 그들을 실제로 연속적인 것처럼 독립적인 서수형(이산형 포함) 변수를 처리해야 한다. 만약 적용되는 분석 모델은 이런 타입이면, 그러면 전가 모델에 요구되는 여분의 작업은 없다. 사용자는 Amelia에 어떤 결측 데이터에 비-정수형 값을 전가하도록 하기 위해 알려 주여야 한다, 그리고 그들의 분석에서 이런 비-정수형 변수를 사용하기 위해. 때로는 이것은 의미가 있다, 그리고 때로는 이것은 직관으로 무시한다. 일단 7개 점 척도에 결측 값에 특별한 전가 값 2.35는 응답자는 2와 3 사이에 있고 그리고 대부분 아마도 관측한 데이가 가지는 응답 2를 가질 것임을 직관적으로 따른다. 이것은 0은 남성을 1은 여성 응답자를 표현하는 경우인 이분산성 변수에서 전가 값 0.79 보다 받아들이기 쉽다. 어쨌든, 둘 모두 경우에서 만약 우리가 전가를 정수가 되게 맞춰야 한다면 전달되는 정보 보다 비-정수 전가는 기초가 되는 분포에 대해 더 많은 정보를 전달한다. 그러므로 분석 모델이 허락할 때마다, 서수형 관측의 결측은 연속적인 값으로 전가를 취하게 허용할 수 있다.
freetrade 데이터에서, 서수형 변수인 하나는 -10(완전한 독제)에서 10(완전한 민주주의)까지 범위를 가지는 polity 이다. 만약 우리가 전가된 데이터셋의 하나에서 이 변수를 표로 만든다면,
> table(a.out$imputations[[3]]$polity)

               -8  -7  -6
                1  22   4
-5.80706995403517  -5  -4
                1   7   3
               -2  -1   2
                9   1   7
                3   4   5
                7  15  26
 5.73196387493741   6   7
                1  13   5
                8   9
               36  13
우리는 하나의 전가는 -4와 -3 사이 그리고 또 하나의 전가는 6과 7 사이에 있음을 확인할 수 있다. 다시, 이런 값의 해석은 비록 그들이 원래의 Polity 데이터의 코드에 엄격하지 않은 경우에라도 오히려 직설적이다.
종종, 어쨌든, 분석 모델은 서수형이 강한 어떤 변수를 요구한다, 예에서 처럼, 종속 변수가 논리 또는 포아송 회귀의 모델을 생성할 때. 서수인 변수 집합을 전가하기 위해서는 연속적인 값으로 전가를 취함으로써 생성된다 그리고 이항 분포에서 성공의 확률과 같은 이것의 근사적인 척도 버전을 사용. 이런 이항 분포의 동인은 그러면 서수형 범주의 하나로 배후에서 변환된다.
우리의 데이터에서, 우리는 polity에 ords 인수를 단수하게 추가할 수 있다:
> a.out1 <- amelia(freetrade, m = 5, ts = "year", cs = "country", 
+                  ords = "polity", p2s = 0)
> table(a.out1$imputations[[3]]$polity)

-8  -7  -6  -5  -4  -2  -1  1  2  3   4   5   6  7   8   9
 1  22   4   7   3   9   1  1  7  7  15  27  13  5  36  13
지금, 우리는 모든 전가가 원래의 polity 범주의 하나로 떨어졌음을 확인한다.

4.4.2 명목형 (Nominal)

명복형 변수는 서수형 변수 보다 매우 다르게 처리되어야 한다. 데이터 셋에 어떤 다항 변수 (카톨릭 1, 유대교 2, 신교도 3인 종교 코드처럼)는 Amelia에 지정되어야 한다. 우리의 freetrade 데이터셋에서, 우리는 만약 국가가 그 해에 IMF 협정에 사인했으면 1 그리고 하지 않았으면 0인 signed를 가진다. 물론, 우리의 첫번째 전가는 이런 2개의 범주에 전가를 제한하지 않았다
> table(a.out1$imputations[[3]]$signed)

                0   0.223643650691989  0.332106092816539
              142                   1                  1
0.416019978704527                   1
                1                  26
p-범주형 다항 변수에서 이것을 해결하기 위해, Amelia는 갯수 p를 결정할 것이다 (당신의 데이터가 각 범주에 적어도 하나의 값을 가지는 한), 그리고 각 가능한 범주를 구별하기 위해 p − 1 이항 변수를 대용한다. 새로운 p − 1 변수는 다항 정규 전가 방법 선택에서 다른 변수로써 처리될 것이다, 그리고 연속적인 전가를 받아낸다. 이러한 연속적인 값을 가지는 전가는 그러면 각 p개의 가능한 범주의 확률로 근사적인 척도가 될 것이다, 그리고 이런 범주 중 하나가 선택될 것이다, 원본의 p-범주 다항 변수로 재구축되고 그리고 사용자에게 반환될 경우. 그러므로 모든 전가는 근사적으로 다항이 될 것이다.
우리의 데이터에서 우리는 signednoms 인수를 단순하게 추가할 수 있다:
> a.out2 <- amelia(freetrade, m = 5, ts = "year", cs = "country", 
+                  noms = "signed", p2s = 0)
> table(a.out2$imputations[[3]]$signed)

  0   1
144  27
Amelia는 원본 데이터에 존재하는 범주로만 전가를 적합할 수 있다. 그러므로, 만약 사인된 3번째 범주가 있다면, 말하자면 2, IMF 협정의 다른 종류에 해당, 그러나 그것은 원본 데이터에서 결코 발생하지 않는다, Amelia는 그것에 전가를 일치할 수 없다.
Amelia는 아마도 p − 1 변수로 p-범주 다항 변수를 처리하기 때문에, 하나는 만약 많은 다항 변수가 사용되고 있다면 빠르게 쌓이는 변수의 수를 이해해야 할 것이다. 만약 실제 수의 제곱 그리고 구축된 변수가 관측의 수와 관련되어 크다면, 그것은 4.7.1 절에서 ridge prior를 사용함이 유용하다.

4.4.3 자연 로그 (Natural Log)

만약 우리의 변수 중 하나가 심하게 왜곡되었거나 또는 원하지 않는 방법으로 전가를 변경할 수 있는 이상점을 가진다면, 당신은 그것의 분포를 정규화하기 위해 그 변수의 자연 로그 변환을 사용할 것이다. 이 변환된 분포는 Amelia가 이상한 데이터 점에 너무 심하게 의존하여 전가되는 값을 회피하는데 도움을 준다. 로그 변환은 우리가 범위 내에서 움직임으써 두 변수 간의 한계 관계(marginal relationship)가 감소하는 강한 신뢰를 가지는 경우 지출과 경제 변수에서 일반적이다.
예를 들어, Figure 3에서 tariff 변수는 그것의 자연 로그 변환이 거의 정규 분포를 가지는 경우 분명하게 양의 방향(또는, 오른쪽)으로 왜곡을 보인다.

Figure 3: tariff와 로그(tariff)의 히스토그램

4.4.4 제곱근(Square Root)

사건 셈 데이터(Event count data)는 종종 심하게 왜곡되고 그리고 다른 변수와 비-선형 관계를 가진다. 셈 데이터에서 선형 모델에 맞추는 하나의 일반전인 변환은 셈에 제곱근을 취해야 한다. 이것은 Amelia에서 옵션으로 설정할 수 있는 변환이다.

4.4.5 로지스틱 (Logistic)

확률 데이터는 0과 1 사이에 급격하게 한정된다. 로지스틱 변환은 대칭적이고 상대적으로 무한대의 분포를 만들기 위한 Amelia에서 하나의 가능한 옵션이다.

4.5 식별 변수 (Identification Variables)

데이터셋은 종종 식별 변수를 가진다, 국가 명, 응답자 번호, 또는 다른 식별 번호, 코드 또는 약어 같은. 때로 이것들은 문자이고 때로는 숫자이다. 종종 그것은 전가 모델에 이런 변수를 포함하는 것은 적절하지 않다, 그러나 그들은 전가 데이터셋에 남아있는 것이 유용하다 (어쨌든, 전가 모델에 ID 변수를 포함하는 모델이 있다. 같은 국가에서 반복 관측한 데이터의 고정 영향 모델(fixed effects model) 처럼). 전가 모델에 포함되지 않는 식별 변수는 인수 idvars로 지정해야 한다. 이러한 변수는 전가 모델에 사용되지 않는다, 그러나 전가 데이터셋에 유지될 것이다.
만약 year와 country이 표기를 제외하고 정보가 없이 포함된다면, 우리는 전가에서 그들을 제외할 것이다:
> amelia(freetrade, idvars = c("year", "country"))
만약 당신의 데이터셋이 정규 또는 식별 변수로 표시되지 않은 펙터 또는 문자 변수를 가진다면 Amelia는 에러를 반환함에 주목. 그러므로, 만약 우리가 cs 또는 idvars 인수에서 펙터 country를 뺀다면, 우리는 에러를 받을 것이다:
> a.out2 <- amelia(freetrade, idvars = c("year"))

Amelia Error Code: 38
 The following variable(s) are characters:
         country
You may have wanted to set this as a ID variable to remove it
from the imputation model or as an ordinal or nominal
variable to be imputed. Please set it as either and
try again.
메모리를 절약하기 위해, 그것이 Amelia에 적재되기 전에 데이터 셋에서 불필요한 변수를 제거하는 것이 현명하다. Amelia를 실행할 때 당신의 데이터에 포함되는 데이터들은 분석 단계에서 사용될 변수이거나 그리고 전가 모델에 도움을 줄 이러한 변수이다. 단순히 불필요한 변수를 ID로 표시하는 것은 유혹적 일 수 있지만, 그것은 메모리를 낭비하고 전가 절차를 느리게 한다.

4.6 시계 열 또는 구간 데이터에서 시계 열
(Time Series, or Time Series Cross Sectional Data)

횡단면 단위(cross-sectional unit) 안에 시간에 걸처서 기록된 많은 변수는 시간에 매우 부드럽게 관측된다. 이 경우에, 어떤 결측 값이 시간이 가까운 관측에서 관측된 값의 지식은 그 값의 전가를 엄청나게 추가할 것이다. 어쨌든, 기대 유형은 어떤 횡단면(cross-section) 내에 시간에서 다양할 것이다. 성장(growth), 안정(stability), 또는 감소(decline)의 구간이 있을 것이다; 관측된 값의 각각에서 결측 값을 전가하는데 다른 유행하는 방식으로써 사용할 것이다. 또한, 이런 유형은 다른 횡단면 전체에서 엄청나게 변할 것이다, 또는 짧은 구간에 존재하거나 다른 구간에서는 없을 것이다. Amelia는 시간 지수(지표)의 일련의 다항식을 생성함으로써 시간 전체에서 변수 내부의 유형의 일반 모델을 생성할 수 있다. 만약, 예로, tariff는 시간을 가로질러 매우 부드럽게 변한다면, 그러면 우리는 시간 t에서 횡단면 단위 i 에 경제를 설명하는 어떤 다항식이 존재하는 추정 모델 구축한다:

그러면 만약 우리가 시간에서 충분히 높은 순서 조건을 포함한다면, 그러면 tariff 비의 관측된 값 사이의 유형(pattern)을 추정할 수 있다. Amelia는 사용자가 정의한 k-번째 순서까지 시간의 다항식을 만들 것이다, (k ≤ 3).
우리는 tspolytime 인수를 가지고 구현할 수 있다. 만약 우리가 두번째 순서 다항식이 우리가 실행하는 예측에 도움이 되게 생각한다면
> a.out2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2)
이 입력을 가지고, Amelia는 시간에 해당하는 모델에서 공변량과 그것의 다항식을 추가할 것이다. 이런 공변량은 결측 값을 더 잘 예측하는데 도움이 될 것이다.
만약 횡단면 단위가 지정된다면 이런 다항식은 횡단면 단위 사이의 변화에 시간에 걸처 유형을 허용하는 횡단면 단위를 가지고 상호 작용하게 될 것이다. 모든 단위가 모든 변수의 시간에서 같은 패턴을 가진다고 강하게 믿지 않는다면(같은 상수 조건을 포함), 이것은 합리적인 설정이다. k를 0으로 설정할 때, 이 상호작용은 모든 단위가 상수 조건을 유일하게 추정하는 경우 고정된 효과(fixed effects)의 모델 결과이다. Amelia는 관측된 데이터를 부드럽게 하지 못하지만, 유일하게 오직 이런 함수 형태를 사용한다, 또는 선택한 하나, 분석에서 모두 다른 변수 그리고 예측의 불확실성을 가짐, 결측 값 전가에서.
각 횡단면 단위에서 특별한 경향을 가지는 전가를 위해, 우리는 intercsTRUE로 설정할 수 있다:
> a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 2,
+                      intercs = TRUE, p2s = 2)
ts 인수 없이 polytime을 사용하는 시도, 또는 cs 인수 없이 intercs를 사용하는 시도는 에러가 발생함에 주의.
tscsPlot 함수의 사용은(아래에 설명됨), 우리는 그것을 제외했을 때 보다 시간이 통합할 때 결측 값에 대해 매우 좋은 예측이 보임을 Figure 4에서 확인할 수 있다.
> tscsPlot(a.out, cs = "Malaysia", main = "Malaysia (no time settings)",
+          var = "tariff", ylim = c(-10, 60))
> tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)",
+          var = "tariff", ylim = c(-10, 60))
Figure 4: 시간 다항식을 사용할 때 예측 능력의 증가. 패널(panel)은 평균 전가 95%의 영역(band)을 보임(빨강) 그리고 관측된 점(검정). 왼쪽 패널은 시간 이용 없는 전가를 보여주고 그리고 오른쪽 패널은 시간 다항식을 포함한다.

4.6.1 지연과 유도 (Lags and Leads)

시계열 정보를 처리하는 대안적인 방법은 전가 모델에서 어떤 변수의 지연과 유도를 포함해야 한다. 지연(Lags)는 이전 시간 구간에 있는 다른 변수의 값을 가지는 변수이다 하지만 유도(leads)는 다음 시간 구간에서 다른 변수의 값을 취한다. 많은 분석 모델은 내생성(endogeneity)의 문제를 처리하기 위해 지연된 변수를 사용한다, 그러므로 유도의 사용은 이상하게 보일 것이다. 기억하는 것이 중요하다. 어쨌든, 전가 모델은 예측적이다, 인과적(causal)이 아님. 그러므로, 변수의 과거와 매래 값 모두 현재 값에 아마도 관련이 있다, 지연과 유도 모두 모델을 향상시킬 것이다.
만약 우리가 tariffs에서 지연과 유도를 포함하기를 원한다면, 예를 들어, 우리는 이것을 lagsleads 인수를 단순히 전달한다.
> a.out2 <- amelia(freetrade, ts = "year", cs = "country", lags = "tariff",
+                  leads = "tariff")

4.7 사전 정보 포함 (Including Prior Information)

Amelia는 전가 모델 내부의 많은 사전 설정의 메서드를 가진다. 이들 중 2개는 일상적으로 사용되고 아래에 논의된다, ridge priors 와 observational priors.

4.7.1 많은 결측, 작은 n, 큰 상관 관계에서 Ridge Priors
Ridge Priors for High Missingness, Small n's, or Large Correlations

데이터를 분석할 때 높은 결측도 또는 변수들 간에 높은 강한 상관 관계를 포함할 때, 또는 관측의 수가 변수의 수 p(p + 3) / 2 보다 약간 더 클 때(p는 관측의 수), 당신의 분석 모델의 결과는 전가 모델의 선택에 더 많이 의존할 것이다. 이것은 Amelia에서 대안적인 사양(alternative specifications) 경우에서 더 많은 검증을 제안하다. 이것은 횡단변에서 상호작용하는 시간 다항식 사용을 전가 모델에 포함할 때 발생할 수 있다. 우리의 실행 예에서, 우리는 도수 2의 다항식을 사용했고 그리고 9개 국가가 있다. 이것은 전가 모델에 3 × 9 - 1 = 17 인 더 많은 변수를 추가한다 (상수 "고정된 효과(fixed effect)"의 하나는 제외된다 그 결과 모델은 구별될 것이다). 이런것들이 추가될 때, EM 알고리즘은 불정정할 수 있다, 각 전가에서 상당히 다른 사슬 길이(chain lengths)로 나타남:
> a.out.time

Amelia output with 5 imputed datasets.
Return code: 1
Message: Normal EM convergence.

Chain Lengths:
--------------
Imputation 1:  167
Imputation 2:  211
Imputation 3:  193
Imputation 4:  324
Imputation 5:  130
이런 환경에서, 우리는 평균 또는 분산의 변화 없이 0을 향하는 변수들 간에 상관 관계를 출임으로써 수치적 안정에 도움을 주는 ridge prior의 추가를 추천한다. 이것은 empri 인수를 포함함으로써 수행할 수 있다. 양수를 이 사전에 가산함으로써 empri는 0 분산을 제외한 기존 데이터와 같은 평균과 분산을 가지는 데이터 셋에 인공의 관측을 추가하여 대략적으로 같게 된다. 그러므로 empri 설정 결과를 증가는 공분산은 더 많이 감소되는 결과이다, 그러므로 추정 문제에서 더 많은 사전 구조의 설정: 많은 베이지안 방밥처럼, 그것은 편향이 증가하는 결과로 분산이 줄어들기를 기대하지만 하나의 희망은 효율에서 이점을 압도하지 않는다. 일반적으로, 우리는 사전(prior)에서 값을 상대적으로 작게 유지하도록 제안하고 그리고 오로지 필요할 때 그것을 증가한다. 관측 수 n의 0.5 ~ 1 퍼센트를 추천, 시작 값으로 합리적이다, 그리고 큰 데이터셋에 약간의 수치적 안정성에서 종종 유용하다. 예로, 2000 개의 관측의 데이터셋에서, 이것은 각각 10 또는 20의 사전 값으로 변환할 것이다. 5 퍼센트 까지의 사전은 많은 응용에서 알맞다 그리고 10 퍼센트는 상단 경계로 합당하다.
우리의 데이터에서, 그것은 1 퍼센트 리지 선행(ridge prior) 까지 위로 올리는 코딩은 쉽다:
> a.out.time2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2,
+                       intercs = TRUE, p2s = 0, empri = .01*nrow(freetrade))
> a.out.time2

Amelia output with 5 imputed datasets.
Return code: 1
Message: Normal EM convergence.
Chain Lengths:

--------------
Imputation 1: 13
Imputation 2: 18
Imputation 3: 22
Imputation 4: 28
Imputation 5: 50
이 새로운 전가 모델은 상당히 더 안정적이다 그리고, tscsPlot을 사용하여 보여 줌, 원본 모델에서 같은 전가에 대해 생성 됨(figure 5를 보라):
> tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (no ridge prior)",
+          var = "tariff", ylim = c(-10, 60))
> tscsPlot(a.out.time2, cs = "Malaysia", main = "Malaysia (with ridge prior)",
+          var = "tariff", ylim = c(-10, 60))
Figure 5: ridge prior을 사용하지 않을 때(왼쪽)과 ridge prior을 데이터의 1%로 설정했을 때(오른쪽) 전가의 차이.

4.7.2 관측-수준 사전 (Observation-level priors)

연구자들은 이전 연구(학문적 합의(academic consensus), 또는 개인적인 경험)를 기반으로 결측 데이터 값에 대해 사전 정보를 추가한다. Amelia는 상당히 향상된 전가를 산출하기 위해 이런 정보와 통합할 수 있다. Amelia 알고리즘은 사용자가 더 일반적인 모델 변수 대신에 개별적인 결측 값 셀에 대해 정보가 되는 Bayesian 사전을 포함할 수 있게 한다, 많은 것들이 약간의 직접적인 수단을 가짐.
사전 통합은 전가가 모델 기반 전가의 가중 평균과 사전 평균이 되도록 하는 기본 베이지안(Bayesian) 분석을 따른다, 가중치는 데이터와 사전의 연관 강도의 함수인 경우: 모델은 매우 잘 예측할 때, 전가는 가중-감소할 것이고, 그리고 반대로(Honaker and King, 2010).
개별적인 관측에 대한 사전은 결측 데이터 셀의 분포에 대해 분석가의 믿음을 설명할 것이다. 이것은 평균의 형태를 취하거나 표준 편차 혹은 신뢰 구간을 취할 수 있다. 예로, 우리는 타일랜트에서 1986년 tariff 비율이 약 40%임을 알고 있을 것이다, 그러나 우리는 정확한 값에 대해 약간의 불확실성을 가진다. 결측 데이터 셀의 분포에 대한 우리의 사전 믿음, 그러면, 우리의 사전 믿음을 가지는 불확실성의 량을 반영하는 표준 편차 40의 중앙 값.
사전 전가 작업을 위해 당신은 4개이거나 5개 열을 가지는 사전 행렬을 생성해야 한다. 행렬의 각 행은 하나의 관측이거나 혹은 하나의 변수에서 사전을 표현한다. 어떤 행에서, 첫번째 열의 요소는 관측의 행이다 그리고 2번째 열의 요소는 관측의 열이다. 4개 컬럼 사전 행렬에서 3번째와 4번째 열은 결측 값의 사전 분포에 대한 평균과 표준 편차이다.
예로, 우리가 타일렌트의 tariff 비율에 대해 약간의 전문적인 사전 정보를 가진다고 가정하자. 우리는 타일랜드(Thailand)는 많은 해에서 tariff 비율이 결측된 데이터로부터 알고 있다:
> freetrade[freetrade$country == "Thailand", c("year","country","tariff")]

    year  country tariff
153 1981 Thailand   32.3
154 1982 Thailand     NA
155 1983 Thailand     NA
156 1984 Thailand     NA
157 1985 Thailand   41.2
158 1986 Thailand     NA
159 1987 Thailand     NA
160 1988 Thailand     NA
161 1989 Thailand   40.8
162 1990 Thailand   39.8
163 1991 Thailand   37.8
164 1992 Thailand     NA
165 1993 Thailand   45.6
166 1994 Thailand   23.3
167 1995 Thailand   23.1
168 1996 Thailand     NA
169 1997 Thailand     NA
170 1998 Thailand   20.1
171 1999 Thailand   17.1
약 6%의 한계 에러를 가지는 1986년에서 1988년 사이에 타일랜드는 tariff 비율이 약 40%라고 전문적인 지식을 가졌다고 가정하자. 이것은 약 3의 표준 편차에 해당한다. 이 정보를 포함하기 위해, 우리는 사전 행렬을 형성해야 한다:
> pr <- matrix(c(158,159,160,3,3,3,40,40,40,3,3,3), nrow=3, ncol=4)
> pr

     [,1]  [,2]  [,3]  [,4]
[1,]  158     3    40     3
[2,]  159     3    40     3
[3,]  160     3    40     3
행렬의 첫번째 열은 3년 간 타일랜트의 행의 수에 해당한다, 두번째 열은 데이터에서 tariff의 열 수를 언급한다 그리고 마지막 2개의 열은 실제 사전을 언급한다. 우리가 이 행렬을 가지자마자, 우리는 그것을 amelia에 전달할 수 있다,
> a.out.pr <- amelia(freetrade, ts = "year", cs = "country", priors = pr)
5개 열 행렬에서, 마지막 3개의 열은 데이터의 신뢰 범위를 설명한다. 열은 하한 경계, 상한 경계, 그리고 0에서 1 사이의 신뢰 수준, 배타적이다. 어느 형식을 선택하든, 그것은 전체 행렬에 일치되어야 한다. 우리는 이 함수를 이용하여 위에서 처럼 동일한 사전을 대략적으로 얻을 수 있다. 우리의 에러 경계는 우리가 34와 46 사이에 전가를 원할 것이다 그리고 이것을 수용해야 한다, 그래서 우리의 행렬은
> pr.2 <- matrix(c(158,159,160,3,3,3,34,34,34,46,46,46,.95,.95,.95), nrow=3, ncol=5)
> pr.2

      [,1]  [,2]  [,3]  [,4]  [,5]
[1,]   158     3    34    46  0.95
[2,]   159     3    34    46  0.95
[3,]   160     3    34    46  0.95
이 사전은 이 결측 값이 범위 34에서 46까지이고 우리는 95%의 신뢰가 있다고 가리킨다.
만약 사전이 첫번째 열에서 값 0을 가진다면, 이 사전은 이 변수에서 모든 결측 값에 적용될 것이다, 정확하게 설정된 사전 제외. 그러므로, 우리는 전체 tariff 변수를 20으로 사전을 설정할 수 있다, 그러나 여전히 아래의 코드로 위의 특별한 사전을 유지한다:
> pr.3 <- matrix(c(158,159,160,0,3,3,3,3,40,40,40,20,3,3,3,5), nrow=4, ncol=4)
> pr.3

     [,1] [,2] [,3] [,4]
[1,]  158    3   40    3
[2,]  159    3   40    3
[3,]  160    3   40    3
[4,]    0    3   20    5

4.7.3 논리 경계 (Logical bounds)

어떤 경우는, 사회 과학에서 변수는 논리 경계로 알려져 있다. 비율 데이터는 0과 1 사이에 있어야 하고 기간 데이터는 0 보다 커야 한다, 예로. 수많은 이런 논리 경계는 변수의 그 타입에서 옳바른 변환을 사용하여 처리해야 한다 (Amelia에서 처리하는 변환에 대해 더 상세는 4.4를 보라). 가끔 발생하는 사건에서 전가가 이런 변환으로 처리하지 못하는 어떤 논리 경계를 만족해야 하다, Amelia는 경계를 만족하는 전가를 달성하기 위해 잘려진 정규 분포(truncated normal distribution)에서 가져올 수 있다. 주의, 어쨌든, 이런 과정은 전가에서 대단히 강한 제약을 강요한다 그리고 전가 모델을 적용하는 것보다 더 작은 분산을 가지게 할 수 있다. 결측 셀의 모든 전가된 값의 평균 값은 그 결측 값의 전가 모델에서 최선의 추측이다. 전가 데이터셋에서 분포의 분산은 그 전가에서 불확실성을 옳바르게 반영한다. 그것은 종종 어떤 알려진 경계에서 수용할 수 있는 평균 전가 값이다, 개별적 전가가 이런 경계를 넘을지라도. 평균 전가 값은 다음 절에서 설명된 진단으로 확인할 수 있다. 일반적으로, 더 예측적인 전가 모델의 구축은 경계를 강요하는 것 보다 더 나은 전가로 이끌 것이다.
Amelia는 표본 추출을 배재함으로써 이런 경계를 구현한다. 그들의 사후에서 전가를 이끌 때, 우리가 모든 논리 제약을 만족하기까지 반복적으로 재표본 추출한다. 당신은 max.resample 인수를 가지고 재표본에서 시간의 상한을 설정할 수 있다. 그러므로, 만약 max.resample로 동인한 후에, 전가가 여전히 경계 밖에 있으면, Amelia는 그 경계의 모서리에서 전가를 설정할 것이다. 그러므로, 만약 경계가 0과 100 이고 그리고 모든 동인이 음수이면, Amelia는 단순하게 0을 전가한다.
극단적인 예로, 우리는 알고 있다고 가정하자, tariff 비율을 30과 40 사이에 떨어져야 한다는 확신. 이것은, 명백하게, 참이 아니다, 그렇지만 우리는 이 모델에서 전가를 생성할 수 있다. 이런 경계를 명확히 하기 위해, 우리는 bounds 인수에 전달할 경계 행렬을 생성할 필요가 있다. 이 행렬은 3개의 열을 가진다: 첫번째는 경계 변수를 위한 열이다, 두번째는 하한이고 그리고 세번째는 상한이다. 그러므로, 우리의 tariff 비율의 경계를 구현하기 위해( 데이터셋의 3번째는 열), 우리는 행렬을 생성할 것이다,
> bds <- matrix(c(3, 30, 40), nrow = 1, ncol = 3)
> bds

     [,1] [,2] [,3]
[1,]    3   30   40
우리는 이것을 bounds 인수로 전달할 수 있다,
> a.out.bds <- amelia(freetrade, ts = "year", cs = "country", bounds = bds,
+                     max.resample = 1000)

-- Imputation 1 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

-- Imputation 2 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

-- Imputation 3 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

-- Imputation 4 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

-- Imputation 5 --

1 2 3 4 5 6 7 8 9 10 11 12 13 14
경계와 비경계 모델 간의 결과에서 차이는 출력에서 분명하지 않다, 그러나 figure 6은 말레시아(Malaysia)에서 전가 tariff 비의 전가는 요구된 범위에서 전가의 극단적인 제약이 있다고 보여준다.
> tscsPlot(a.out, cs = "Malaysia", main = "No logical bounds", var =
+          "tariff", ylim = c(-10,60))
> tscsPlot(a.out.bds, cs = "Malaysia", main = "Bounded between 30 and 40", var =
+          "tariff", ylim = c(-10,60))
Figure 6: 왼쪽은 논리 경계가 없는 원본 전가이다 그리고 오른쪽은 경계를 강제한 후에 전가이다.
다시, 그들은 전가 모델의 추론에 심각하게 영항을 끼칠 수 있으므로 분석가는 이러한 경계를 사용할 때 대단히 주의 깊게 해야할 것이다, 이 예에서 보여지는 것처럼. 논리 경계가 있을 때 조차, 우리는 정규적인 단순한 전가 변수를 추천한다, 논리 경계의 침해는 전가의 실제 불확실성의 일부를 표현한다.

댓글 없음:

댓글 쓰기