[통계 분석] Z-Test

jaeyeon_lee·2023년 6월 6일

통계분석

목록 보기
1/5

Z-distribution (Z분포)

표본의 개수가 충분할 때(30개 이상) 표준화 과정을 거친 정규분포를 표준정규분포(standard normal distribution) 혹은 z분포라고 한다.

z분포는 평균 = 0, 분산 = 1인 정규분포를 따른다.

표본갯수가 충분하거나, 모집단 표준편차 아는 경우 사용한다.

모평균의 100(1-a)% 신뢰구간(표준편차를 아는 경우)은 다음과 같이 구한다.

예를 들어, μ\mu의 95% 신뢰구간은 다음과 같다.


예 5.16

어떤 신형 자동차의 1리터당 주행거리를 알아보기 위하여 20대를 랜덤추출하여 실험한 결과가 아래와 같다. 표준편차가 1.0이라고 알려져 있을 때, 1리터당 평균주행거리의 95% 신뢰구간을 SAS를 이용하여 구해보자.

<주행거리 (km/리터)>

15.2  16.9  17.6  13.9  17.4  15.7  15.8  17.2  16.3  16.0 
15.5  14.9  15.6  16.0  15.4  14.3  14.8  15.2  15.3  14.0

SAS 프로그램

/* CAR.SAS : 표준편차를 알 때, 평균의 95% 신뢰구간 구하기 */
DATA CAR;          /*데이타 세트 생성 */
  INPUT DIST @@;   /*변수 읽기*/
  CARDS;
  15.2 16.9 17.6 13.9 17.4 15.7 15.8 17.2 16.3 16.0 
  15.5 14.9 15.6 16.0 15.4 14.3 14.8 15.2 15.3 14.0
  ;
RUN;

PROC MEANS DATA=CAR NOPRINT;     /*평균과 자료의 개수 구하기*/
VAR dist;
  OUTPUT OUT=CAROUT N=NOBS MEAN=MU;
                   /* OUTPUT 데이터 세트 및 저장할 변수 지정*/
RUN;

DATA CAR_C1(KEEP=NOBS MU LCLM UCLM);
    /*데이타 세트 생성, 변수들 중 NOBS MU LCLM UCLM만 저장함*/
  SET CAROUT;
  LCLM=MU+PROBIT(0.05/2)*1.0*SQRT(1/NOBS);   /*신뢰하한 계산*/
  UCLM=MU-PROBIT(0.05/2)*1.0*SQRT(1/NOBS);   /*신뢰상한 계산*/

PROC PRINT DATA=CAR_C1 NOOBS;
 TITLE 'CONFIDENCE INTERVAL FOR MEAN';
RUN;

출력결과

출력결과로부터 모평균 μ\mu의 95% 신뢰구간은 (15.2117 , 16.0883)


예 5.17

새로운 전구를 개발하여 판매하는 회사가 이 새로운 전구의 평균 수명이 1950시간을 상회한다고 주장한다. 생산되는 전구 중 20개를 추출하여 그 수명기간을 기록한 결과가 아래와 같다. 전구의 수명시간이 표준편차가 20시간인 정규분포를 따른다고 할 때 회사측의 주장이 맞다고 할 수 있는지를 SAS를 이용하여 검정하여 보자.
이 경우에 전구의 평균수명을 μ\mu 라고 하면 가설은 다음과 같이 세울 수 있다.

<전구의 수명시간>

1939 1975 1920 1972 1950 2000 1950 1943 1975 1954
1951 1985 1975 1993 1980 1942 1925 1977 1949 1962

SAS 프로그램

/*BULB.SAS : 표준편차를 알 때 모평균의 가설검정*/
OPTIONS NODATE;
DATA BULB;           /*데이타 세트 생성 */
  INPUT TIME @@;     /*변수 읽기 */
  TIME2=TIME-1950;
CARDS;
1939 1975 1920 1972 1950 2000 1950 1943 1975 1954
1951 1985 1975 1993 1980 1942 1925 1977 1949 1962
;
RUN;

PROC MEANS DATA=BULB NOPRINT;         /*평균과 개수 구하기*/
  VAR TIME2;
  OUTPUT OUT=ZBULB N=NOBS MEAN=XBAR;  /*output 데이터 세트 지정 및
                                                저장할 변수 지정 */
RUN;

DATA RES(DROP=_TYPE_ _FREQ_);         /*데이타 세트 생성,
                        변수들 중 내부변수인 _TYPE_ _FREQ_를 버림*/
  SET ZBULB;
  Z=XBAR/(20/SQRT(NOBS));             /*Z값 계산*/
  PROB=2*(1-PROBNORM(Z));             /*유의 확률 계산*/
RUN;

PROC PRINT DATA=RES LABEL NOOBS;      /*출력*/
  LABEL Z='Z' PROB='PROB>|Z|';
  TITLE 'RESULT OF TESTING';
RUN;

출력결과

R 프로그램

# data set
x <- c(1939,1975,1920,1972,1950,2000,1950,1943,1975,1954,1951,1985,1975,1993,1980,1942,1925,1977,1949,1962)

df <-as.data.frame(x)
hist(df$x)

df$y = df$x -1950

df$check1950 <- (df$x > 1950) 
#참이면 true이고 거짓이면 false으로 저장됨

n <- nrow(df)
mu <- 1950
sigma <- 20
xbar <- mean(df$x)

# z값
z <- (xbar-mu) / (sigma/sqrt(n))

# p-value 단측 검정
p_value <- 1-pnorm(z)

출력결과

결과에서 보듯, p-value 값이 0.0152인데 이 문제의 경우 단측검정을 적용해 0.0076으로 읽는다.
유의확률이 0.0076이므로 유의수준 5%에서 귀무가설 H0를 기각한다.

신제품은 평균수명이 1950시간보다 길다는 강한 증거가 유의수준 5%에서 나타났다.
즉, 관측결과로부터 새로운 전구의 평균수명이 1950시간을 상회한다는 증거가 5%보다 강하게 나타났다.


연습문제

다음 자료는 어느 회사에서 생산되는 TV의 평균수명시간(단위:년)을 추정하기 위하여 20대의 TV를 램던추출하여 수명시간을 측정한 결과이다.

 5.7  7.7  7.5  3.8  8.8  5.4  7.9  8.1  4.7  6.3
10.3  4.9  7.3  6.7  7.2  8.3  7.7  6.9  5.5  6.9

TV의 평균 수명 시간이 표준편차가 1.5인 정규분포를 따른다고 할 때, SAS를 이용하여 다음물음에 답하여라.

(a) TV의 평균수명시간의 95%신뢰구간을 구하여라.
(b) TV의 평균수명시간이 6시간보다 길다는 뚜렷한 증거가 있는가? 유의 수준 5%에서 검정하여라.

표준편차가 1.5로 주어져있으므로, ztest 사용

SAS 프로그램

/* 신뢰구간 구하기 */

DATA TV;          /*데이타 세트 생성 */
  INPUT TIME @@;   /*변수 읽기*/
  CARDS;
  5.7 7.7 7.5 3.8 8.8 5.4 7.9 8.1 4.7 6.3
  10.3 4.9 7.3 6.7 7.2 8.3 7.7 6.9 5.5 6.9
  ;
RUN;

PROC MEANS DATA=TV NOPRINT;     /*평균과 자료의 개수 구하기*/
VAR TIME;
  OUTPUT OUT=TVOUT N=NOBS MEAN=MU; /* OUTPUT 데이터 세트 및 저장할 변수 지정*/
RUN;

DATA TV_C1(KEEP=NOBS MU LCLM UCLM);
    /*데이타 세트 생성, 변수들 중 NOBS MU LCLM UCLM만 저장함*/
  SET TVOUT;
  LCLM=MU+PROBIT(0.05/2)*1.0*SQRT(1/NOBS);   /*신뢰하한 계산*/
  UCLM=MU-PROBIT(0.05/2)*1.0*SQRT(1/NOBS);   /*신뢰상한 계산*/

PROC PRINT DATA=TV_C1 NOOBS;
 TITLE 'CONFIDENCE INTERVAL FOR MEAN';
RUN;

/* Ztest */

DATA TV(DROP=_TYPE_ _FREQ_);         /*데이타 세트 생성,
                        변수들 중 내부변수인 _TYPE_ _FREQ_를 버림*/
  SET ZBULB;
  Z=XBAR/(20/SQRT(NOBS));             /*Z값 계산*/
  PROB=2*(1-PROBNORM(Z));             /*유의 확률 계산*/
RUN;

PROC PRINT DATA=TV LABEL NOOBS;      /*출력*/
  LABEL Z='Z' PROB='PROB>|Z|';
  TITLE 'RESULT OF TESTING';
RUN;

출력결과

R 프로그램

# data set
x <- c(5.7,7.7,7.5,3.8,8.8,5.4,7.9,8.1,4.7,6.3,10.3,4.9,7.3,6.7,7.2,8.3,7.7,6.9,5.5,6.9)
df <- as.data.frame(x)
hist(df$x)

df$y = df$x -6

df$check1950 <- (df$x > 6) #참이면 true이고 거짓이면 false으로 저장됨

n <- nrow(df)
mu <- 6
sigma <- 1.5
xbar <- mean(df$x)

# z값
z <- (xbar-mu) / (sigma/sqrt(n))

# p-value 양쪽 검정
p_value <- 2*(1-pnorm(z)) 

# p-value 한쪽 검정
p_value2 <- 1-pnorm(z)

출력결과


(a) 출력결과에 의해 TV의 평균수명시간의 95% 신뢰구간은 ( 6.44174 , 7.31826 ) 이다.

(b)

  1. 귀무가설, 대립가설 설정

    귀무가설(H0) : μ\mu=6 , 대립가설(H1) :μ\mu>6

  2. Z값이 2.42613 이다.

  3. p-value 단측 검정을 해야하므로 0.015261를 2로 나눔
    : 0.0043496 (유의 수준 5%)

  4. H1 을 채택하고, H0 를 기각한다.

TV의 누명시간이 6시간보다 길다는 강한 증거가 유의수준 5%에서 나타났다.

profile
🙋🏻‍♀️

1개의 댓글

comment-user-thumbnail
2023년 9월 17일

참고할게요 고마워요~

답글 달기