우리 회사의 JMP 라이센스는 제한되어 있으므로 JMP를 사용하지 않는 사용자를 위해 소규모 데이터 세트(<=50포인트)에 대해 JMP와 동일한 W 통계를 생성하는 도구를 만들어야 합니다.
Shapiro-Wilk 알고리즘에 따라 제가 제작한 도구는 이 온라인 도구 (<=50 데이터 포인트에서만 작동)와 정확히 동일한 출력을 생성하며, 최대 50개 데이터 포인트까지 이 도구 와 동일한 출력입니다. 두 번째 도구는 50포인트보다 큰 데이터 세트에 대해 다른 알고리즘(내 생각에는 Royston 알고리즘인 것 같습니다)으로 전환합니다.
JMP는 포인트가 51개 이상인 데이터세트에 대해 두 번째 도구와 동일한 출력을 생성하지만 포인트가 50개 이상인 데이터세트에 대해서는 두 도구의 출력이 일치하지 않습니다. 이는 JMP가 실제로 여러 데이터 포인트에 대해 원래의 Shapiro-Wilk 검정을 사용하지 않는다는 것을 의미합니까?
다음은 결과를 비교하기 위한 몇 가지 무작위 데이터세트입니다.
50점(웹 도구는 서로 동일한 출력을 생성하지만 JMP와는 다름)
0.248101241
0.450073968
0.224529778
0.802125187
0.608997717
0.126359546
0.189416694
0.797726633
0.289777998
0.900884889
0.850659126
0.229857424
0.080467456
0.649702732
0.608165252
0.937654307
0.940220447
0.990420382
0.598793624
0.835389209
0.412415193
0.091544827
0.548241223
0.690017412
0.259088029
0.141445888
0.446677138
0.412718957
0.857160428
0.203152717
0.682450466
0.315887776
0.330362305
0.95360633
0.469931725
0.272978413
0.027425522
0.817982229
0.997688689
0.122165442
0.465505757
0.969130668
0.992952417
0.592758008
0.507822738
0.587875494
0.883556267
0.249496424
0.118255434
0.603700514
60점(두 번째 도구는 JMP와 동일한 출력을 생성함)
0.248101241
0.450073968
0.224529778
0.802125187
0.608997717
0.126359546
0.189416694
0.797726633
0.289777998
0.900884889
0.850659126
0.229857424
0.080467456
0.649702732
0.608165252
0.937654307
0.940220447
0.990420382
0.598793624
0.835389209
0.412415193
0.091544827
0.548241223
0.690017412
0.259088029
0.141445888
0.446677138
0.412718957
0.857160428
0.203152717
0.682450466
0.315887776
0.330362305
0.95360633
0.469931725
0.272978413
0.027425522
0.817982229
0.997688689
0.122165442
0.465505757
0.969130668
0.992952417
0.592758008
0.507822738
0.587875494
0.883556267
0.249496424
0.118255434
0.603700514
0.151526435
0.841586894
0.543917734
0.28113771
0.522754606
0.259412322
0.683260852
0.062356388
0.400691678
0.705478414
SAS를 사용하여 Shapiro-Wilk 테스트를 실행했습니다. SAS는 첫 번째 예를 분석할 때 JMP가 생성하는 것과 동일한 W 통계를 생성합니다(다른 테스트 데이터는 테스트하지 않는다는 점에 유의하십시오).
다음 페이지를 기반으로 SAS는 샘플 수가 3보다 큰 경우 Royston(1992)의 방법을 사용합니다. JMP도 같은 접근 방식을 사용한다고 생각합니다.
https://documentation.sas.com/doc/en/pgmsascdc/v_036/procstat/procstat_univariate_details53.htm