본문 바로가기

ADSP

PART 03 데이터 분석 - 2

4장 통계분석

1절 통계분석의 이해

1. 통계

· 특정집단을 대상으로 수행한 조사나 실험을 통해 나온 결과에 대한 요약된 형태의 표현

· 통계학

  - 자료의 수집, 정리, 해석 이 세가지가 통계학의 핵심 (Data -----statistic-----> Information)

· 기술 통계학 : 수집된 정보를 정리하고 요약(운동선수 기록)

· 추론 통계학 : 수집된 정보를 통해 예측(출구조사) → 확률론(불확실성 내포)

· 조사대상에 따라 총조사(census)와 표본조사로 구분

 

2. 통계자료의 획득 방법

가. 총 조사/전수 조사(census)

나. 표본조사

· 모집단이 클 경우 사용

· 모집단(population) : 조사하고자 하는 대상 집단 전체

· 원소(element) : 모집단을 구성하는 개체

· 표본(sample) : 모집단의 일부 원소, 부분집합(모집단의 일부원소)

· 모수(parameter) : 모집단에 대한 정보( 모집단의 속성, 특징을 나타내는 통계값 : 모평균, 모표준편차, 모상관계수)

· 모집단의 정의, 표본의 크기, 조사방법, 조사기간, 표본 추출방법을 정확히 명시

· 통계량 : 표본의 평균/ 표준편차/ 상관계수

 

 

다. 표본 추출 방법

· 모집단을 대표할 수 있는 표본 추출

1) 단순랜덤 추출법(simple random sampling)

· 임의의 n개를 추출하는 방법

· 각 샘플은 선택될 확률이 동일(비복원, 복원(추출한 element를 다시 집어넣어 추출하는 경우) 추출)

2) 계통추출법(systematic sampling)

· 모집단이 클 경우 사용

· 모집단의 개체에 1, 2, · · ·,N 이라는 일련번호를 부여한 후, 첫 번째 표본을 임의로 선택하고 일정간격으로 다음 표본을 선택

 

5개 마다 조사 (15개중 3개의 샘플 추출)

 

3) 집락추출법(cluster random sampling)

· 조사지역이 너무 넓은 경우

· 군집을 구분하고 군집별로 단순랜덤 추출법(지역표본추출, 다단계표본추출)

 

 

4) 층화추출법(stratified random sampling)

· 이질적인 원소들로 구성된 모집단에서 각 계층을 고루 대표할 수 있도록 표본을 추출

· 사용자 만족도 100명 → 남 :  여 = 7 : 3 → 남여비율 7:3으로 추출

◎ 비확률표본 추출

1) 판단추출법 : 연구자가 연구목적에 따라 판단하여 표본 선택

  제한된 집단으로 연구

 - 장점 : 비용/시간 단축

 - 단점 : 대표성 보장없음

2) 할당추출법 : 모집단의 속성을 많이 반영하는 추출법. 모집단 특성의 비율에 맞춰 표본 추출 분류자의 판단이 들어가서 오차에 대한 개입가능성

  - ex) 대학교 만족도 조사(500명) 

    → 100명 추출 : 학과별로 인원수 다름(학과별 인원수 비율 반영)

3) 편의 추출법 : 손쉽게 표본 추출. 연구자가 쉽게 접근할 수 있는 표본 추출 표본이 모집단을 대표하지 않음. 사회과학에서 많이 사용.

4) 지원자 표본 추출법 : 지원자를 표본으로 추출

 

라. 측정(measurement)

1) 개요 

· 어떤 특정한 현상을 관찰하여 어떤 일정한 규칙에 의해 수치 부여

2) 측정방법

명목척도

· 측정대상의 특성만 구분하기위해 숫자, 기호할당(양적인 분석X, 대소비교X)
질적척도 (범주형자료, 숫자들의 크기 차이가 계산되지 않는 척도)

(서열척도)


· 상대적으로 크기 O, 서로간 비교가능 → 크기의 정도를 알 수 X(사칙연산X)

(등간척도)


· 명목척도, 서열척도 특성모두 가지고 있음(+, - 기능 / ×, ÷ 불가능) → 0이 없음. 절대 0점이 아니다)
양적척도 (수치형 자료, 숫자들의 크기차이를 계산할 수 있는 척도)
비율척도
· 가장 높은 수준의 척도

· 구간척도는 절대적 크기는 측정할 수 없기 때문에 사칙연산 중 더하기와 뺴기는 가능하지만 비율처럼 곱하거나 나누는 것은 불가능 

 

3. 통계분석

가. 정의

· 특정한 집단이나 불확실한 현상을 대상으로 자료를 수집해 대상 집단에 대한 정보를 구하고, 적절한 통계분석 방법을 이용해 의사결정을 하는 과정(통계적 추론)

나. 기술통계(descriptive statistics)

· 수집된 자료를 정리 요약 하기 위해 사용되는 기초 통계(자세한 통계 분석을 위한 전단계 역할)

다. 통계적 추론(추측통계, inference statistics)

· 수집된 자료를 이용해 대상집단(모집단)에 대한 의사결정을 하는 것

1) 모수 추정

·모집단의 특성인 모수(평균, 분산 등)를 분석

2) 가설검정

· 옳은지 그른지에 대한 채택여부를 결정

3) 예측

· 불확실성을 해결해 효율적인 의사결정

 

4. 확률 및 확률분포

가. 확률

· 특정사건에 일어날 가능성의 척도

1) 표본공간(sample space, Ω)

· 나타날 수 있는 모든 결과들의 집합

2) 사건(event)

· 표본공한의 부분집합

3) 원소(element)

· 나타날 수 있는 개별의 결과들을 의미

4) 확률변수(random variable)

· 특정값이 나타날 가능성이 확률적으로 주어지는 변수

· 정의역(domain)이 표본공간, 치역(range)이 실수값(0<y<1)인 함수

· 이산형 확률변수(discrete random variable), 연속형 확률변수(continuous random variable)

· 확률변수의 기대값

 

 

◎ 이산확률 변수의 기댓값(→평균)

- 100명 중 추출

점수304050
학생수231

 

 

X012
f(X)1/41/21/4

 

→ 확률분포 → 기댓값 = Expectation Value

 

· 확률변수X의 k차 적률(k-th moment)

 

 

· 확률변수 X의 k차 중심 적률(k-th cental moment)

 

 

· 2차 중심적률

 

 

· 모분산 = 2차적률 - 1차적률^2로 해석 

 

 

· 종속사건 

 - A : 홀수가 일어날 확률 (1, 3, 5)

 - B : 짝수가 일어날 확률 (2, 4, 6)

 - A가 발생했을 경우 B의 사건은 일어나지 않음.

· 독립사건 : 확률에 영향을 미치지 않음

 

 

· 배반사건 : 교집합 X

 

 

· 조건부 확률과 독립사건

  → 확률이 0이 아닌 사건 A가 일어났을 때 사건 B가 일어날 확률은 사건 A가 일어 났을 때의 사건 B의 조건부확률이라 하고 P(B | A)와 같이 나타 낸다.

 

 

· 조건부 확률 계산

 

 

· 한개의 주사위를 던져서 홀수의 눈이 나왔을 때 그것이 소수일 확률을 구하여라.

 

 

· 독립사건 

 

 

나. 확률 분포

1) 이산형 확률변수

· 동전 2개 앞면이 나올 확률 (이산확률분포표)

X012
P(X)1/41/21/4

→ 확률질량함수 : 이산확률 분포의 확률함수

 

 

· 주사위 1개

 

 

가) 베르누이 확률분포

  XP(X)
시행성공(특정 사건 발생)1p
실패(특정 사건 발생 X)01-p

 

 

나) 이항 분포(Binomial distribution)

 

 

다) 기하분포(Geometric distribution)

· 성공확률이 p인 베르누이 시행에서 첫번째 성공이 있기까지 x번 실패할 확률

라) 다항분포(Multinomial distribution)

· 이항분포를 확장한 것으로 세가지 이상의 결과를 가지는 반복시행에서 발생하는 확률분포

마) 포아송분포(Poisson distribution)

· 시간과 공간 내에서 발생하는 사건의 발생횟수에 대한 확률분포(예 : 책에 오타가 5page당 10개씩 나올경우 한페이지에 오타가 3개 나올확률)

2)연속형 확률변수

· 가능한 값이 실수의 어느 특정구간 전체에 해당하는 확률변수(확률 밀도 함수)

가) 균일 분포(일양분포, Unifrom distribution)

· 모든 확률변수 X가 균일한 확률을 가지는 확률분포(다트의 확률분포)

나)정규분포(Normal distribution)

 

 

다) 지수분포(Exponential distribution)

· 어떤 사건이 발생할 때까지 경과시간에 대한 연속 확률분포

  ex) 전자레인지 수명시간, 콜센터에 전화가 걸려올 때까지의 시간, 은행에 고객이 내방하는데 걸리는 시간, 정류소에 버스가 올때까지의 시간

라) t-분포(t-distribution)

· 표준정규분포와 같이 평균이 0을 중심으로 좌우가 동일한 분포를 따름

· 데이터가 연속형일 경우 사용

· 표본이 커져서(30개 이상) 자유도가 증가하면 표준정규분포와 거의 같은 분포

· 두 집단의 평균이 동일한지 알고자 할 때 검정통계량으로 활용

마) x^2-분포(chi-square distribution)

· 모평균과 모분산이 알려지지 않은 모분산에 가설검정에 사용되는 분포

· 두 집단간의 동질성 검정에 활용(범주형 자료에 대해 얻어진 관측값과 기대값의 차이를 보는 적합성 검정에 활용)

바) F-분포(F-distribution)

· 두집단간의 분산의 동일성 검정에 사용

· 확률변수는 항상 양의 값만을 갖고 x^2분포와 달리 자유도를 2개 가지고 있으며 자유도가 커질수록 정규분포에 가까워짐

 

5. 추정과 가설검정

가. 추정의 개요

1) 확률표본(random sample)

· 확률분포는 분포를 결정하는 평균, 분산등의 모수(parameter)를 가지고 있음

· 특정한 확률분포로부터 독립적으로 반복해 표본을 추출하는 것

· 각 관찰값들은 서로 독립적이며 동일한 분포

· 모수 : 모집단의 특성을 나타내는 값(일반적으로 알려져 있지 않음)→표본추출을 통해 모수 추정

2) 추정(통계적 추정)

· 표본으로부터 미지의 모수를 추측

가) 점추정(point estimation)

· 모수가 특정한 값일 것

· 얼마나 추정이 정확한지 판단불가 

  ex) 표본평균, 표본분산

 

 

◎ 점추정량(통계량)의 조건, 표본평균, 분산

· 불편성(unbiasedness) : 모든 가능한 표본에 얻은 추정량의 기댓값은 모집단의 모수와 편의(차이)가 없음.(같다)

· 효율성(efficiency) : 추정량의 분산이 작을수록 좋음

· 일치성(consistency) : 표본의 크기가 아주 커지면, 추정량이 모수와 거의 같아진다. → 오차가 작아진다.

· 충족성(sufficient) : 추정량은 모수에 대하여 모든 정보를 제공한다.

· 10명의 학생 → 3명 표본

 

 

나) 구간추정(interval estimation)

· 미리 정해진 구간(99%, 95%, 90% 등)을 기준으로 모두가 참이라고 여겨질 구간을 추정하는 방법

· 모수가 특정한 구간에 있을 것이라고 선언

· 만족도 70%, 오차 2.5% → (70-2.5)% ~ (70+2.5)%

 

나. 가설검정

· 차의 연비 14.5L, 1인분 200g → 과연 맞는지

· 모집단에 대한 어떤 가설을 설정한 뒤에 표본 관찰을 통해 그 가설의 채택여부를 결정

· 검정하고자 하는 모집단의 모수에 대한 가설설정이 가장 기본적

 

 

◎ 제1종오류와 제2종오류

 

 

6. 비모수 검정

가. 모수적 방법 → 정규분포를 하는 자료

· 검정하고자 하는 모집단의 분포에 대한 가정을 하고, 가장하에서 검정통계량과 검정통계량의 분포를 유도해 검정을 실시

나. 비모수적 방법 → 정규분포를 하는 자료

· 검정하고자 하는 모집단의 분포에 대한 가정을 하고, 그 가정하에서 검정통계량ㅇ과 검정통계량의 분포를 유도해 검정을 실시

· 정규분포를 하지 않는 자료 → 샘플로만 결정

 

 

다. 모수적검정과 비모수 검정의 차이점

 

 

라) 비모수 검정의 예

· 쌍으로 관측된 표본에 의한 부호검정(sign test), 윌콕슨의 순위합검정(rank sum test), 윌콕슨의 부호순위합검정(Wilcoxon signed rank test), 만-위트니의 U검정, 런검정(run test), 스피어만의 순위상관계수

2절 기초 통계분석

1. 기술통계(Descriptive Statistics)

가. 기술통계의 정의

· 자료를 요약하는 기초적 통계

· 데이터 분석에 앞서 데이터의 대략적인 통계적 수치를 계산해봄으로써 데이터에 대한 대략적인 이해와 앞으로 분석에 대한 통찰력을 얻기에 유리

2. 인과관계의 이해

가. 용어

1) 종속변수(반응변수, y)

· 다른 변수의 영향을 받는 변수

2) 독립변수(설명변수, x)

· 영향을 주는 변수

3) 산점도(scatter plot)

· 좌표평면위에 점들로 표현한 그래프

 

 

> #그래픽 기능
> #산점도(scatter plot)
> #x축과 y축으로 이루어진 그래프에 두변수의 값을 점으로나타낸 그래프
> group<-c(1,1,1,2,2,2,2,2,1,1,2,1)
> age<-c(12,15,28,22,40,33,31,38,12,30,25,19)
> weight<-c(30,45,58,50,61,65,50,51,28,62,50,40)
> dat<-cbind(group,age,weight)
> dat
      group age weight
 [1,]     1  12     30
 [2,]     1  15     45
 [3,]     1  28     58
 [4,]     2  22     50
 [5,]     2  40     61
 [6,]     2  33     65
 [7,]     2  31     50
 [8,]     2  38     51
 [9,]     1  12     28
[10,]     1  30     62
[11,]     2  25     50
[12,]     1  19     40
> plot(x=age,y=weight)

 

 

#종속변수 weight
#독립변수 age
# age에 따라서 Weight가 종속
plot(formula=weight~age,data=dat)

plot(formula=weight~age,data=dat,main="Scatter plot",xlab="age(Seoul)",ylab="weight(average)")
plot(formula=weight~age,data=dat,col=c("red","blue")[group])

 

 

> #산점도 행렬 : 각각의 산점도를 한눈에 살펴볼 수 있도록 확장된 산점도 행렬
> #pairs() 함수
> pairs(dat)

 

 

> #히스토그램
> #hist()
> height<-c(182,160,165,170,163,160,181,166,159,145,175)
> hist(height)

 

 

> #상자그림
> #boxplot()
> boxplot(height)

 

 

나. 공분산(covariance)

· 두개 확률변수의 상관관계(상관정도) 값

 

 

3. 상관분석(Correlation Analysis)

· 두 변수 간의 관계의 정도를 알아보기 위한 분석 방법

· 두 변수의 상관관계를 알아보기 위해 상관계수(Correlation coefficient)를 이용

※ 상관계수

· 상관 공분산을 표준화

· 선형관계의 강도를 알수 있음. -1과 1사이의 값을 갖음.

· 0일 경우 두변수간 선형관계가 전혀X

 - 0.3~0.7 : 보통 양적인 선형관계

 - 0.7~1.0 : 강한 양적인 선형관계

 

 

· 1(-1)에 가까울수록 강한 양(음)의 상관관계를 나타내고 상관관계가 없으면 r=0

다. 상관분석의 유형

구분피어슨스피어만
개념· 등간척도 이상으로 측정된 두 변수들의 상관관계 측정방식· 서열척도인 두변수들ㄹ의 상관관계 측정 방식
특징

· 정규분포를 이룸, 모수이용 N


· 비모수적 검정 S
상관계수· 피어슨(적률상관계수)· 순위상관계수(로우)

3절 회귀분석

1. 회귀분석 개요

가. 회귀분석의 정의

· 하나나 그 이상의 독립변수들이 종속변수에 미치는 영향을 추정(←예측←회귀식이 필요)할 수 있는 통계기법

나. 회귀분석의 변수

· 영향을 받는 변수(y) : 반응변수(response variable), 종속변수(dependent variable), 결과변수(outcom variable)

· 영향을 주는 변수(x) : 설명변수(explanatory variable), 독립변수(independent variable), 예측변수(predictor variable)

다. 선형회귀분석의 가정

1) 선형성

· 입력변수와 출력변수의 관계가 선형

2) 등분산성(오차분산일정)

· 오차의 분산이 입력변수와 무관하게 일정

3) 독립성(잔차와 독립변인 값 독립)

· 입력변수와 오차는 관련이 없음

  ex) 여성몸무게 / 키 : 20명 중 10명 모수(→ 10명이 자매 or 친척 → 유전적 영향)

 

 

4) 비상관성(잔차끼라 상관X)

· 오차들끼리 상관이 없음.

5) 정상성(정규성) (잔차가 정규분포)

· 오차의 분포가 정규분포를 따른다.

 

 

2. 단순선형회귀분석

· 하나의 종속변수와 하나의 독립변수관계를 분석

 

 

가. 회귀분석에서의 검토사항

1) 회귀계수들이 유의미한가?

· 계수의 t 통계량의 p-값이 0.05보다 작으면 해당 회귀계수가 통계적으로 유의

· 계수의 t값, p값 또는 신뢰구간 확인

· 모형이 통계적으로 유의미한가? F통계량(p값) 확인 → p-value 유의 확률 → p값 < 0.05 일정오류를 범할 확률이 0.05 미만 → 신뢰도가 높다

 

 

2) 모형이 얼마나 설명력을 갖는가?

 

 

3) 모형이 데이터를 잘 적합하고 있는가?

· 잔차를 그래프로 그리고 회귀진단

· 데이터가 전제하는 가정을 만족시키나? 선형성, 독립성, 등분산성, 비상관성, 정상성

> #단순선형회귀분석
> x<-runif(10)
> x
 [1] 0.3974251 0.4147223 0.9348376 0.6880062 0.8223841 0.5236806 0.6249284 0.5232500 0.6792274 0.9669955
> y<-runif(10)
> y
 [1] 0.51676954 0.65086280 0.50318965 0.38952751 0.02328749 0.33413711 0.89316259 0.53797163 0.09863120 0.20801404
> runif(10)
 [1] 0.4157251 0.9143737 0.4489038 0.3868510 0.7987374 0.2985580 0.5341450 0.1913280 0.7300298 0.8253359
> set.seed(12)
> runif(10)
 [1] 0.069360916 0.817775199 0.942621732 0.269381876 0.169348123 0.033895622 0.178785004 0.641665366 0.022877743 0.008324827
> #runif : random unifrom(distribution) 균등분포난수
> #runif(n,min,max)
> runif(10,0,3)
 [1] 1.1780916 2.4416417 1.1287454 1.1424366 0.7947551 1.3180029 1.3728215 1.6221226 1.9970395 0.3380968
> #rnorm : 정규분포에서 난수를 생성하는 함수
> #rnorm(n,mean,sd)
> rnorm(10,0,0.2)
 [1] -0.155543916 -0.258776460 -0.155913302  0.002390352 -0.030483248 -0.140692851  0.237775831  0.068102454  0.101393634 -0.058661030
> set.seed(12)
> x<-runif(10)
> y<-2+3^x+rnorm(10,0,0.2)
> df<-data.frame(x,y)
> df
             x        y
1  0.069360916 3.024720
2  0.817775199 4.392645
3  0.942621732 4.691077
4  0.269381876 3.323105
5  0.169348123 3.290083
6  0.033895622 2.882396
7  0.178785004 2.958256
8  0.641665366 3.867815
9  0.022877743 3.027843
10 0.008324827 2.978704
> #lm(linear model) : ln(종속변수~독립변수, 적용할데이터)
> lm(y~x, data=df)

Call:
lm(formula = y ~ x, data = df)

Coefficients:
(Intercept)            x  
      2.873        1.811  

> 
> #상관계수
> #상관계수
> #Coefficients:
> #상관계수
> #Coefficients:
> #  (Intercept)            x  
> #상관계수
> #Coefficients:
> #  (Intercept)            x  
> #        2.873        1.811  
> #상관계수
> #Coefficients:
> #  (Intercept)            x  
> #        2.873        1.811  
> # x는 회귀계수(1.811)  / y절편(2.873)

3. 다중선형회귀분석

· 하나의 종속변수와 둘 이상의 독립변수 간의 관계를 분석

 

 

7) 다중공선성(multicollinearity)

· 독립변수의 일부가 다른 독립변수의 조합으로 표현될 수 있는 경우이다. 독립변수들이 서로 독립이 아니라 상호 상관 관계가 강한 경우에 발생한다.

· 다중공선성을 없애는 가장 기본적인 방법은 다른 독립 변수에 의존하는 변수를 없애는 것이다. 가장 의존적인 독립변수를 선택하는 방법으로는 VIF(Variance Inflation Factor)를 사용할 수 있다.

가) 분산팽창요인(VIF) : 4보다 크면 다중공선성이 존재 한다고 볼수 있고, 10보다 크면 심각한 문제가 있는 것으로 해석

나) 상태지수 : 10이상이면 문제가 있다고 보고, 30보다 크면 심각한 문제가 있다고 해석

 

 

> #다중회귀분석
> set.seed(1234)
> x1<-runif(10,0,11)
> x2<-runif(10,11,20)
> x3<-runif(10,1,30)
> y<-3+0.1^x1+2^x2-3*rnorm(10,0,0.1)
> df<-data.frame(y,x1,x2,x3)
> df
            y        x1       x2        x3
1  155047.461 1.2507375 17.24232 10.181761
2   61353.060 6.8452935 15.90477  9.778108
3   11952.273 6.7020221 13.54460  5.612334
4  650373.329 6.8571739 19.31090  2.159882
5   12687.334 9.4700692 13.63084  7.345187
6  380008.428 7.0434167 18.53566 24.507358
7   12215.914 0.1044533 13.57601 16.245229
8   10822.941 2.5580556 13.40139 27.525087
9    6567.525 7.3269213 12.68051 25.109006
10   8722.729 5.6567626 13.09003  2.327338
> m<-lm(y~x1+x2+x3,data=df)
> #회귀식
> #Coefficients:
> #(Intercept)           x1           x2           x3  
> #    -801202        -3692        63818         1288  
> # y = -801202 -3692x1 +63818x2 + 1288x3
> m

Call:
lm(formula = y ~ x1 + x2 + x3, data = df)

Coefficients:
(Intercept)           x1           x2           x3  
 -1097657.4       8610.9      78675.7       -386.6  

> #Coefficients:
> #            Estimate Std. Error t value Pr(>|t|)   
> #(Intercept)    -801202     214116  -3.742  0.00960 **
> #  x1             -3692      12942  -0.285  0.78500   
> #  x2             63818      13266   4.811  0.00297 **
> #  x3              1288       4727   0.272  0.79445  
> #Estimate->회귀계수
> #Pr(>|t|) -> P value 유의확률
> #Multiple R-squared:  0.8133,	Adjusted R-squared:   0.72 
> #F-statistic: 8.714 on 3 and 6 DF,  p-value: 0.01319
> summary(m)

Call:
lm(formula = y ~ x1 + x2 + x3, data = df)

Residuals:
    Min      1Q  Median      3Q     Max 
-147472  -38536    8571   46048  170521 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept) -1097657.4   255569.3  -4.295  0.00512 **
x1              8610.9    12547.8   0.686  0.51818   
x2             78675.7    15187.6   5.180  0.00205 **
x3              -386.6     3974.6  -0.097  0.92567   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 110700 on 6 degrees of freedom
Multiple R-squared:  0.8266,	Adjusted R-squared:  0.7399 
F-statistic: 9.533 on 3 and 6 DF,  p-value: 0.01064

> # R-squared 결정계수 81.33%의 신뢰성
> #  p-value: 0.01319 ->0.05 밑의 값 신뢰성 크다
> # MASS 패키지에는 Diet 를 적용한 닭에 대한 데이터가 들어 있음.
> #install.packages("MASS")
> library(MASS)
> head(ChickWeight)
  weight Time Chick Diet
1     42    0     1    1
2     51    2     1    1
3     59    4     1    1
4     64    6     1    1
5     76    8     1    1
6     93   10     1    1
> chick<-ChickWeight[ChickWeight$Diet==1,]
> chick
    weight Time Chick Diet
1       42    0     1    1
2       51    2     1    1
3       59    4     1    1
4       64    6     1    1
5       76    8     1    1
6       93   10     1    1
7      106   12     1    1
8      125   14     1    1
.......
214     73   10    20    1
215     77   12    20    1
216     89   14    20    1
217     98   16    20    1
218    107   18    20    1
219    115   20    20    1
220    117   21    20    1
> chick<-ChickWeight[ChickWeight$Chick==1,]
> chick
   weight Time Chick Diet
1      42    0     1    1
2      51    2     1    1
3      59    4     1    1
4      64    6     1    1
5      76    8     1    1
6      93   10     1    1
7     106   12     1    1
8     125   14     1    1
9     149   16     1    1
10    171   18     1    1
11    199   20     1    1
12    205   21     1    1
> # 시간의 경과에 따른 닭들의 무게를 단순회귀 분석
> lm(weight~Time,chick)

Call:
lm(formula = weight ~ Time, data = chick)

Coefficients:
(Intercept)         Time  
     24.465        7.988  

> #회귀식  weight = 24.465+7.988*Time
> m1<-lm(weight~Time,chick)
> summary(m1)

Call:
lm(formula = weight ~ Time, data = chick)

Residuals:
     Min       1Q   Median       3Q      Max 
-14.3202 -11.3081  -0.3444  11.1162  17.5346 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  24.4654     6.7279   3.636  0.00456 ** 
Time          7.9879     0.5236  15.255 2.97e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 12.29 on 10 degrees of freedom
Multiple R-squared:  0.9588,	Adjusted R-squared:  0.9547 
F-statistic: 232.7 on 1 and 10 DF,  p-value: 2.974e-08

> #회귀진단 
> data(cars)
> head(cars)
  speed dist
1     4    2
2     4   10
3     7    4
4     7   22
5     8   16
6     9   10
> #dist 제동거리
> mm<-lm(dist~speed,cars)
> mm

Call:
lm(formula = dist ~ speed, data = cars)

Coefficients:
(Intercept)        speed  
    -17.579        3.932  

> summary(mm)

Call:
lm(formula = dist ~ speed, data = cars)

Residuals:
    Min      1Q  Median      3Q     Max 
-29.069  -9.525  -2.272   9.215  43.201 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -17.5791     6.7584  -2.601   0.0123 *  
speed         3.9324     0.4155   9.464 1.49e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15.38 on 48 degrees of freedom
Multiple R-squared:  0.6511,	Adjusted R-squared:  0.6438 
F-statistic: 89.57 on 1 and 48 DF,  p-value: 1.49e-12
plot(mm)

* plot(mm)

①  Residuals 잔차(plat해야됨) : 제곱계산 OLS(최소제곱승)

 

 

표준잔차(등분산성) -> 기울기가 0이여야됨

 

 

정규분포 선상에 있어야 정규분포를 잘따른다.

 

 

④ 이상치 / 큰지렛점 / 영향(이상)관측치 

 

 

> #큰지레점계산
> nrow(cars)
[1] 50
> (2/50)*3
[1] 0.12
> women
   height weight
1      58    115
2      59    117
3      60    120
4      61    123
5      62    126
6      63    129
7      64    132
8      65    135
9      66    139
10     67    142
11     68    146
12     69    150
13     70    154
14     71    159
15     72    164
> fit<-lm(weight~height,data=women)
> fit

Call:
lm(formula = weight ~ height, data = women)

Coefficients:
(Intercept)       height  
     -87.52         3.45  

> #회귀식 weight =3.45height -87.52
> plot(fit)

> plot(weight~height,data=women)

* plot(fit)

Residuals 잔차(plat해야됨) : 제곱계산 OLS(최소제곱승)

 

 

표준잔차(등분산성) -> 기울기가 0이여야됨

 

 


정규분포 선상에 있어야 정규분포를 잘따른다.

 

 


이상치 / 큰지렛점 / 영향(이상)관측치 

 

 

* plot(weight~height,data=women)

 

 

> ### 다항회귀모형####
> fit2<-lm(weight~height+I(height^2),data=women)
> plot(fit2)

* plot(fit2)

① Residuals 잔차(plat해야됨) : 제곱계산 OLS(최소제곱승)

 

 


표준잔차(등분산성) -> 기울기가 0이여야됨

 

 

정규분포 선상에 있어야 정규분포를 잘따른다. 

 

 


④ 이상치 / 큰지렛점 / 영향(이상)관측치 

 

 

> ##다중회귀모형##
> nrow(state.x77)
[1] 50
> state.x77
               Population Income Illiteracy Life Exp Murder HS Grad Frost   Area
Alabama              3615   3624        2.1    69.05   15.1    41.3    20  50708
Alaska                365   6315        1.5    69.31   11.3    66.7   152 566432
Arizona              2212   4530        1.8    70.55    7.8    58.1    15 113417
Arkansas             2110   3378        1.9    70.66   10.1    39.9    65  51945
California          21198   5114        1.1    71.71   10.3    62.6    20 156361
Colorado             2541   4884        0.7    72.06    6.8    63.9   166 103766
Connecticut          3100   5348        1.1    72.48    3.1    56.0   139   4862
Delaware              579   4809        0.9    70.06    6.2    54.6   103   1982
Florida              8277   4815        1.3    70.66   10.7    52.6    11  54090
Georgia              4931   4091        2.0    68.54   13.9    40.6    60  58073
Hawaii                868   4963        1.9    73.60    6.2    61.9     0   6425
Idaho                 813   4119        0.6    71.87    5.3    59.5   126  82677
Illinois            11197   5107        0.9    70.14   10.3    52.6   127  55748
Indiana              5313   4458        0.7    70.88    7.1    52.9   122  36097
Iowa                 2861   4628        0.5    72.56    2.3    59.0   140  55941
Kansas               2280   4669        0.6    72.58    4.5    59.9   114  81787
Kentucky             3387   3712        1.6    70.10   10.6    38.5    95  39650
Louisiana            3806   3545        2.8    68.76   13.2    42.2    12  44930
Maine                1058   3694        0.7    70.39    2.7    54.7   161  30920
Maryland             4122   5299        0.9    70.22    8.5    52.3   101   9891
Massachusetts        5814   4755        1.1    71.83    3.3    58.5   103   7826
Michigan             9111   4751        0.9    70.63   11.1    52.8   125  56817
Minnesota            3921   4675        0.6    72.96    2.3    57.6   160  79289
Mississippi          2341   3098        2.4    68.09   12.5    41.0    50  47296
Missouri             4767   4254        0.8    70.69    9.3    48.8   108  68995
Montana               746   4347        0.6    70.56    5.0    59.2   155 145587
Nebraska             1544   4508        0.6    72.60    2.9    59.3   139  76483
Nevada                590   5149        0.5    69.03   11.5    65.2   188 109889
New Hampshire         812   4281        0.7    71.23    3.3    57.6   174   9027
New Jersey           7333   5237        1.1    70.93    5.2    52.5   115   7521
New Mexico           1144   3601        2.2    70.32    9.7    55.2   120 121412
New York            18076   4903        1.4    70.55   10.9    52.7    82  47831
North Carolina       5441   3875        1.8    69.21   11.1    38.5    80  48798
North Dakota          637   5087        0.8    72.78    1.4    50.3   186  69273
Ohio                10735   4561        0.8    70.82    7.4    53.2   124  40975
Oklahoma             2715   3983        1.1    71.42    6.4    51.6    82  68782
Oregon               2284   4660        0.6    72.13    4.2    60.0    44  96184
Pennsylvania        11860   4449        1.0    70.43    6.1    50.2   126  44966
Rhode Island          931   4558        1.3    71.90    2.4    46.4   127   1049
South Carolina       2816   3635        2.3    67.96   11.6    37.8    65  30225
South Dakota          681   4167        0.5    72.08    1.7    53.3   172  75955
Tennessee            4173   3821        1.7    70.11   11.0    41.8    70  41328
Texas               12237   4188        2.2    70.90   12.2    47.4    35 262134
Utah                 1203   4022        0.6    72.90    4.5    67.3   137  82096
Vermont               472   3907        0.6    71.64    5.5    57.1   168   9267
Virginia             4981   4701        1.4    70.08    9.5    47.8    85  39780
Washington           3559   4864        0.6    71.72    4.3    63.5    32  66570
West Virginia        1799   3617        1.4    69.48    6.7    41.6   100  24070
Wisconsin            4589   4468        0.7    72.48    3.0    54.5   149  54464
Wyoming               376   4566        0.6    70.29    6.9    62.9   173  97203
> states<-as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])
> states
               Murder Population Illiteracy Income Frost
Alabama          15.1       3615        2.1   3624    20
Alaska           11.3        365        1.5   6315   152
Arizona           7.8       2212        1.8   4530    15
Arkansas         10.1       2110        1.9   3378    65
California       10.3      21198        1.1   5114    20
Colorado          6.8       2541        0.7   4884   166
Connecticut       3.1       3100        1.1   5348   139
Delaware          6.2        579        0.9   4809   103
Florida          10.7       8277        1.3   4815    11
Georgia          13.9       4931        2.0   4091    60
Hawaii            6.2        868        1.9   4963     0
Idaho             5.3        813        0.6   4119   126
Illinois         10.3      11197        0.9   5107   127
Indiana           7.1       5313        0.7   4458   122
Iowa              2.3       2861        0.5   4628   140
Kansas            4.5       2280        0.6   4669   114
Kentucky         10.6       3387        1.6   3712    95
Louisiana        13.2       3806        2.8   3545    12
Maine             2.7       1058        0.7   3694   161
Maryland          8.5       4122        0.9   5299   101
Massachusetts     3.3       5814        1.1   4755   103
Michigan         11.1       9111        0.9   4751   125
Minnesota         2.3       3921        0.6   4675   160
Mississippi      12.5       2341        2.4   3098    50
Missouri          9.3       4767        0.8   4254   108
Montana           5.0        746        0.6   4347   155
Nebraska          2.9       1544        0.6   4508   139
Nevada           11.5        590        0.5   5149   188
New Hampshire     3.3        812        0.7   4281   174
New Jersey        5.2       7333        1.1   5237   115
New Mexico        9.7       1144        2.2   3601   120
New York         10.9      18076        1.4   4903    82
North Carolina   11.1       5441        1.8   3875    80
North Dakota      1.4        637        0.8   5087   186
Ohio              7.4      10735        0.8   4561   124
Oklahoma          6.4       2715        1.1   3983    82
Oregon            4.2       2284        0.6   4660    44
Pennsylvania      6.1      11860        1.0   4449   126
Rhode Island      2.4        931        1.3   4558   127
South Carolina   11.6       2816        2.3   3635    65
South Dakota      1.7        681        0.5   4167   172
Tennessee        11.0       4173        1.7   3821    70
Texas            12.2      12237        2.2   4188    35
Utah              4.5       1203        0.6   4022   137
Vermont           5.5        472        0.6   3907   168
Virginia          9.5       4981        1.4   4701    85
Washington        4.3       3559        0.6   4864    32
West Virginia     6.7       1799        1.4   3617   100
Wisconsin         3.0       4589        0.7   4468   149
Wyoming           6.9        376        0.6   4566   173
> fit <- lm(Murder~Population+Illiteracy+Income+Frost,data=states)
> summary(fit)

Call:
lm(formula = Murder ~ Population + Illiteracy + Income + Frost, 
    data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7960 -1.6495 -0.0811  1.4815  7.6210 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.235e+00  3.866e+00   0.319   0.7510    
Population  2.237e-04  9.052e-05   2.471   0.0173 *  
Illiteracy  4.143e+00  8.744e-01   4.738 2.19e-05 ***
Income      6.442e-05  6.837e-04   0.094   0.9253    
Frost       5.813e-04  1.005e-02   0.058   0.9541    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.535 on 45 degrees of freedom
Multiple R-squared:  0.567,	Adjusted R-squared:  0.5285 
F-statistic: 14.73 on 4 and 45 DF,  p-value: 9.133e-08

> #install.packages("car",dependencies = TRUE)
> library(car)
> vif(fit)
Population Illiteracy     Income      Frost 
  1.245282   2.165848   1.345822   2.082547 
> #Population Illiteracy     Income      Frost 
> #1.245282   2.165848   1.345822   2.082547 
> #vif 값이 4이상이 없음
> sqrt(vif(fit))
Population Illiteracy     Income      Frost 
  1.115922   1.471682   1.160096   1.443103 
> plot(fit)

① Residuals 잔차(plat해야됨) : 제곱계산 OLS(최소제곱승)

 

 


표준잔차(등분산성) -> 기울기가 0이여야됨

 

 


정규분포 선상에 있어야 정규분포를 잘따른다.

 

 


④ 이상치 / 큰지렛점 / 영향(이상)관측치 

 

 

6. 최적회귀방정식

가. 최적회귀방정식의 선택

1) 설명변수 선택

· y에 영향을 미칠 수 있는 모ㅗ든 설명변수 x들을 y의 값을 예측하는데 참여

· 데이터에 설명변수 x들의 수가 맣아지면 관리하는데 많은 노력이 요구되므로, 가능한 범위내에서 적은수의 설명변수를 포함

 

 

2) 모형선택(exploratory analysis) : 분석데이터에 가장 잘 맞는 모형을 찾아내는 방법

· 모든 가능한 조합의 회귀분석(All possible regression) :  모든 가능한 독립변수들의 조합에 대한 회귀모형을 생성한 뒤 가장 적합한 회귀모형을 선택 → AIC(더 많이 사용) / BIC

3) 단계적 변수 선택(Stepwise Variable Selection)

· 전진선택법(forward selection) : 절편만 있는 상수모형으로부터 시작해 중요하다고 생각되는 설명변수부터 차례로 모형에 추가

 

 

· 후진제거법(backward elimination, 후위선택법) : 독립변수 후보 모두를 포함한 모형에서 출발해 가장 적은 영향을 주는 변수부터 하나씩 제거하면서 더 이상 제거할 변수가 없을 때의 모형을 선택

 

 

· 단계선택법(stepwise method) : 추가또는 제거

 - 모든 변수가 포함된 모델에서 출발하여 기준통계치에 가장 도움이 되지 않는 변수를 삭제하거나, 모델에서 빠져있는 변수 중에서 기준통계치를 가장 개선시키는 변수를 추가한다. 그리고 이러한 변수의 추가 또는 삭제를 반복한다. 반대로 절편만 포함된 모델에서 출발해 변수의 추가 삭제를 반복할 수도 있다.

 

 

· step(lm(종속변수~설명변수,데이터셋),scope=list(lower=~,upper=~설명변수),direction="변수선택방법") 함수로 쉽게 선택가능

> #단계별 선택방법
> # backward stepwise regression(backward selection(elimination))
> #library(mlbench)
> #data(BostonHousing)
> states
               Murder Population Illiteracy Income Frost
Alabama          15.1       3615        2.1   3624    20
Alaska           11.3        365        1.5   6315   152
Arizona           7.8       2212        1.8   4530    15
Arkansas         10.1       2110        1.9   3378    65
California       10.3      21198        1.1   5114    20
Colorado          6.8       2541        0.7   4884   166
Connecticut       3.1       3100        1.1   5348   139
Delaware          6.2        579        0.9   4809   103
Florida          10.7       8277        1.3   4815    11
Georgia          13.9       4931        2.0   4091    60
Hawaii            6.2        868        1.9   4963     0
Idaho             5.3        813        0.6   4119   126
Illinois         10.3      11197        0.9   5107   127
Indiana           7.1       5313        0.7   4458   122
Iowa              2.3       2861        0.5   4628   140
Kansas            4.5       2280        0.6   4669   114
Kentucky         10.6       3387        1.6   3712    95
Louisiana        13.2       3806        2.8   3545    12
Maine             2.7       1058        0.7   3694   161
Maryland          8.5       4122        0.9   5299   101
Massachusetts     3.3       5814        1.1   4755   103
Michigan         11.1       9111        0.9   4751   125
Minnesota         2.3       3921        0.6   4675   160
Mississippi      12.5       2341        2.4   3098    50
Missouri          9.3       4767        0.8   4254   108
Montana           5.0        746        0.6   4347   155
Nebraska          2.9       1544        0.6   4508   139
Nevada           11.5        590        0.5   5149   188
New Hampshire     3.3        812        0.7   4281   174
New Jersey        5.2       7333        1.1   5237   115
New Mexico        9.7       1144        2.2   3601   120
New York         10.9      18076        1.4   4903    82
North Carolina   11.1       5441        1.8   3875    80
North Dakota      1.4        637        0.8   5087   186
Ohio              7.4      10735        0.8   4561   124
Oklahoma          6.4       2715        1.1   3983    82
Oregon            4.2       2284        0.6   4660    44
Pennsylvania      6.1      11860        1.0   4449   126
Rhode Island      2.4        931        1.3   4558   127
South Carolina   11.6       2816        2.3   3635    65
South Dakota      1.7        681        0.5   4167   172
Tennessee        11.0       4173        1.7   3821    70
Texas            12.2      12237        2.2   4188    35
Utah              4.5       1203        0.6   4022   137
Vermont           5.5        472        0.6   3907   168
Virginia          9.5       4981        1.4   4701    85
Washington        4.3       3559        0.6   4864    32
West Virginia     6.7       1799        1.4   3617   100
Wisconsin         3.0       4589        0.7   4468   149
Wyoming           6.9        376        0.6   4566   173
> full.model<-lm(Murder~.,data=states)
> summary(full.model)

Call:
lm(formula = Murder ~ ., data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7960 -1.6495 -0.0811  1.4815  7.6210 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.235e+00  3.866e+00   0.319   0.7510    
Population  2.237e-04  9.052e-05   2.471   0.0173 *  
Illiteracy  4.143e+00  8.744e-01   4.738 2.19e-05 ***
Income      6.442e-05  6.837e-04   0.094   0.9253    
Frost       5.813e-04  1.005e-02   0.058   0.9541    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.535 on 45 degrees of freedom
Multiple R-squared:  0.567,	Adjusted R-squared:  0.5285 
F-statistic: 14.73 on 4 and 45 DF,  p-value: 9.133e-08

> full.model1<-lm(Murder~Population+Illiteracy,data=states)
> summary(full.model)

Call:
lm(formula = Murder ~ ., data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7960 -1.6495 -0.0811  1.4815  7.6210 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.235e+00  3.866e+00   0.319   0.7510    
Population  2.237e-04  9.052e-05   2.471   0.0173 *  
Illiteracy  4.143e+00  8.744e-01   4.738 2.19e-05 ***
Income      6.442e-05  6.837e-04   0.094   0.9253    
Frost       5.813e-04  1.005e-02   0.058   0.9541    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.535 on 45 degrees of freedom
Multiple R-squared:  0.567,	Adjusted R-squared:  0.5285 
F-statistic: 14.73 on 4 and 45 DF,  p-value: 9.133e-08

> full.model2<-lm(Murder~Population+Illiteracy+Income,data=states)
> summary(full.model)

Call:
lm(formula = Murder ~ ., data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7960 -1.6495 -0.0811  1.4815  7.6210 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.235e+00  3.866e+00   0.319   0.7510    
Population  2.237e-04  9.052e-05   2.471   0.0173 *  
Illiteracy  4.143e+00  8.744e-01   4.738 2.19e-05 ***
Income      6.442e-05  6.837e-04   0.094   0.9253    
Frost       5.813e-04  1.005e-02   0.058   0.9541    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.535 on 45 degrees of freedom
Multiple R-squared:  0.567,	Adjusted R-squared:  0.5285 
F-statistic: 14.73 on 4 and 45 DF,  p-value: 9.133e-08

> # AIC(Akaike's an Information Criterion)
> AIC(full.model,full.model1,full.model2)
            df      AIC
full.model   6 241.6429
full.model1  4 237.6565
full.model2  5 239.6467
> reduced.model<-step(full.model,direction ="backward")
Start:  AIC=97.75
Murder ~ Population + Illiteracy + Income + Frost

             Df Sum of Sq    RSS     AIC
- Frost       1     0.021 289.19  95.753
- Income      1     0.057 289.22  95.759
<none>                    289.17  97.749
- Population  1    39.238 328.41 102.111
- Illiteracy  1   144.264 433.43 115.986

Step:  AIC=95.75
Murder ~ Population + Illiteracy + Income

             Df Sum of Sq    RSS     AIC
- Income      1     0.057 289.25  93.763
<none>                    289.19  95.753
- Population  1    43.658 332.85 100.783
- Illiteracy  1   236.196 525.38 123.605

Step:  AIC=93.76
Murder ~ Population + Illiteracy

             Df Sum of Sq    RSS     AIC
<none>                    289.25  93.763
- Population  1    48.517 337.76  99.516
- Illiteracy  1   299.646 588.89 127.311
> summary(reduced.model)

Call:
lm(formula = Murder ~ Population + Illiteracy, data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7652 -1.6561 -0.0898  1.4570  7.6758 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.652e+00  8.101e-01   2.039  0.04713 *  
Population  2.242e-04  7.984e-05   2.808  0.00724 ** 
Illiteracy  4.081e+00  5.848e-01   6.978 8.83e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.481 on 47 degrees of freedom
Multiple R-squared:  0.5668,	Adjusted R-squared:  0.5484 
F-statistic: 30.75 on 2 and 47 DF,  p-value: 2.893e-09

> #Forward stepwise regressiion
> min.model<-lm(Murder~1,data=states) #1  : y=b+ax 에서b 상수값
> min.model

Call:
lm(formula = Murder ~ 1, data = states)

Coefficients:
(Intercept)  
      7.378  

> forward.model<-step(min.model,scope = (Murder~Population + Illiteracy + Income + Frost),direction = "forward")
Start:  AIC=131.59
Murder ~ 1

             Df Sum of Sq    RSS     AIC
+ Illiteracy  1    329.98 337.76  99.516
+ Frost       1    193.91 473.84 116.442
+ Population  1     78.85 588.89 127.311
+ Income      1     35.35 632.40 130.875
<none>                    667.75 131.594

Step:  AIC=99.52
Murder ~ Illiteracy

             Df Sum of Sq    RSS     AIC
+ Population  1    48.517 289.25  93.763
<none>                    337.76  99.516
+ Frost       1     5.387 332.38 100.712
+ Income      1     4.916 332.85 100.783

Step:  AIC=93.76
Murder ~ Illiteracy + Population

         Df Sum of Sq    RSS    AIC
<none>                289.25 93.763
+ Income  1  0.057022 289.19 95.753
+ Frost   1  0.021447 289.22 95.759
> summary(forward.model)

Call:
lm(formula = Murder ~ Illiteracy + Population, data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7652 -1.6561 -0.0898  1.4570  7.6758 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.652e+00  8.101e-01   2.039  0.04713 *  
Illiteracy  4.081e+00  5.848e-01   6.978 8.83e-09 ***
Population  2.242e-04  7.984e-05   2.808  0.00724 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.481 on 47 degrees of freedom
Multiple R-squared:  0.5668,	Adjusted R-squared:  0.5484 
F-statistic: 30.75 on 2 and 47 DF,  p-value: 2.893e-09

> # Stepwise regression
> both.model<-step(full.model,direction="both")
Start:  AIC=97.75
Murder ~ Population + Illiteracy + Income + Frost

             Df Sum of Sq    RSS     AIC
- Frost       1     0.021 289.19  95.753
- Income      1     0.057 289.22  95.759
<none>                    289.17  97.749
- Population  1    39.238 328.41 102.111
- Illiteracy  1   144.264 433.43 115.986

Step:  AIC=95.75
Murder ~ Population + Illiteracy + Income

             Df Sum of Sq    RSS     AIC
- Income      1     0.057 289.25  93.763
<none>                    289.19  95.753
+ Frost       1     0.021 289.17  97.749
- Population  1    43.658 332.85 100.783
- Illiteracy  1   236.196 525.38 123.605

Step:  AIC=93.76
Murder ~ Population + Illiteracy

             Df Sum of Sq    RSS     AIC
<none>                    289.25  93.763
+ Income      1     0.057 289.19  95.753
+ Frost       1     0.021 289.22  95.759
- Population  1    48.517 337.76  99.516
- Illiteracy  1   299.646 588.89 127.311
> summary(both.model)

Call:
lm(formula = Murder ~ Population + Illiteracy, data = states)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.7652 -1.6561 -0.0898  1.4570  7.6758 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.652e+00  8.101e-01   2.039  0.04713 *  
Population  2.242e-04  7.984e-05   2.808  0.00724 ** 
Illiteracy  4.081e+00  5.848e-01   6.978 8.83e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.481 on 47 degrees of freedom
Multiple R-squared:  0.5668,	Adjusted R-squared:  0.5484 
F-statistic: 30.75 on 2 and 47 DF,  p-value: 2.893e-09

> #all subset regression
> library(leaps)
> leap<-regsubsets(Murder~Population + Illiteracy + Income + Frost,data = states,nbest=2)
> plot(leap,scale="adjr2")
> #y축 R^2(결정계수)
> plot(leap,scale="bic")

* plot(leap,scale="adjr2")

 

 

* plot(leap,scale="bic")

 

 

4절 시계열 분석

1. 시계열 자료

가. 개요

· 시간의 흐름에 따라 관찰된 값(ex) 주가)

나. 시계열 자료의 종류

1) 비정상성 시계열 자료

· 시계열 분석을 실시할 때 다루기 어려운 자료

2) 정상성 시계열 자료

· 비정상 시계열을 정상 시계열로 만들어 분석

* 비정상 → 정상 : 변환, 차분

2. 정상성

가. 평균이 일정

· 모든 시점에 대해 일정한 평균을 가짐

· 평균이 일정하지 않은 시계열은 차분(difference)을 통해 정상화

· (t1 - t0) : 시간차 → 현시점자료 - 전시점자료

나. 분산이 일정(시점과는 상관없이 분산값이 항상 일정)

· 분산도 시점에 의존하지 않고 일정(시점과 분산의 독립)

· 분산이 일정하지 않을 경우 변환(Transformation)을 통해 정상화

다. 공분산도 단지 시차에만 의존, 실제 특정 시점 t, s에는 의존하지 않음



· 계절차분(seasonal difference) : 여러 시점 전의 자료를 뺴는 것 방법, 주로 계절성을 갖는 자료를 장상화 하는데 사용

라. 정상 시계열의 모습

 

 

4. 시계열모형

가. 자기 회귀 모형(AR 모형, autoregressive model)

· p 시점 전의 자료가 현재 자료에 영향을 주는 모형

 

 

나. 이동평균 모형(MA 모형, Moving Average model)

· 유한한 개수의 백색잡음의 결합이므로 언제나 정상성을 만족

 

 

· AR 모형과 반대로 ACF에서 절단점을 갖고, PACF가 빠르게 감소

다. 자기회귀누적이동평균 모형(ARIMA(p,d,q) 모형, autoregressive integrated moving average model)

· ARIMA 모형은 비정상시계열 모형

· ARIMA 모형을 차분이나 변환을 통해 AR모형이나 MA모형, 이 둘을 합침 ARMA 모형으로 정상화 할 수 있음

· p는 AR 모형, q는 MA 모형과 관련이 있는 차수(ARIMA에서 ARMA로 정상화 할때 차분된 횟수 의미)

· d=0이면 ARMA(p,q) 모형

· p=0 이면 IMA(d,q) 모형이라고 부르고, d번 차분하면 MA(q) 모형

· q=-0 이면 ARI(p,d) 모형이라 부르며, d번 차분한 시계열이 AR(p) 모형

· p → AR, q → MA, d →ARMA

라. 분해시계열

· 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법

· 분해식의 일반적 정의

 

 

Start = 1871 
End = 1970 
Frequency = 1 
  [1] 1120 1160  963 1210 1160 1160  813 1230 1370 1140  995  935 1110  994 1020  960 1180  799  958 1140
 [21] 1100 1210 1150 1250 1260 1220 1030 1100  774  840  874  694  940  833  701  916  692 1020 1050  969
 [41]  831  726  456  824  702 1120 1100  832  764  821  768  845  864  862  698  845  744  796 1040  759
 [61]  781  865  845  944  984  897  822 1010  771  676  649  846  812  742  801 1040  860  874  848  890
 [81]  744  749  838 1050  918  986  797  923  975  815 1020  906  901 1170  912  746  919  718  714  740
> plot(Nile)

* plot(Nile)

 

 

> #비정상 시계열 일정한 곡선유지해야 정상시계열
> #정상성 만족 못함
> #diff 함수 : 차분을 한다.
> Nile.diff<-diff(Nile,differences = 1)
> plot(Nile.diff)

* plot(Nile.diff)

> Nile.diff<-diff(Nile,differences = 1)
> plot(Nile.diff)

 

 

* plot(Nile.diff)

 

 

> ldeaths #폐질환 사망자에 관한 자료(1974~1979)
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
1974 3035 2552 2704 2554 2014 1655 1721 1524 1596 2074 2199 2512
1975 2933 2889 2938 2497 1870 1726 1607 1545 1396 1787 2076 2837
1976 2787 3891 3179 2011 1636 1580 1489 1300 1356 1653 2013 2823
1977 3102 2294 2385 2444 1748 1554 1498 1361 1346 1564 1640 2293
1978 2815 3137 2679 1969 1870 1633 1529 1366 1357 1570 1535 2491
1979 3084 2605 2573 2143 1693 1504 1461 1354 1333 1492 1781 1915
> #겨울에 폐질환환자 증가(계절성요인영향을 받음)
> #계절성 빼고 확인
> plot(ldeaths)

* plot(ldeaths)

 

 

> # decompose()함수 : 시계열 자료를4가지 요인으로 분해
> ldeaths.decomp<-decompose(ldeaths)
> ldeaths.decomp$seasonal
           Jan       Feb       Mar       Apr       May       Jun       Jul       Aug       Sep       Oct
1974  873.7514  896.3347  687.5431  156.5847 -284.4819 -440.0236 -519.4236 -669.8736 -678.2236 -354.3069
1975  873.7514  896.3347  687.5431  156.5847 -284.4819 -440.0236 -519.4236 -669.8736 -678.2236 -354.3069
1976  873.7514  896.3347  687.5431  156.5847 -284.4819 -440.0236 -519.4236 -669.8736 -678.2236 -354.3069
1977  873.7514  896.3347  687.5431  156.5847 -284.4819 -440.0236 -519.4236 -669.8736 -678.2236 -354.3069
1978  873.7514  896.3347  687.5431  156.5847 -284.4819 -440.0236 -519.4236 -669.8736 -678.2236 -354.3069
1979  873.7514  896.3347  687.5431  156.5847 -284.4819 -440.0236 -519.4236 -669.8736 -678.2236 -354.3069
           Nov       Dec
1974 -185.2069  517.3264
1975 -185.2069  517.3264
1976 -185.2069  517.3264
1977 -185.2069  517.3264
1978 -185.2069  517.3264
1979 -185.2069  517.3264
> plot(ldeaths.decomp)

* plot(ldeath.decomp)

 

 

> ldeaths.decomp.adj<-ldeaths -ldeaths.decomp$seasonal
> plot(ldeaths.decomp.adj)

* plot(ldeaths.decomp.adj)

 

 

6절 주성분 분석

1. 주성분분석(Principal Component Analysis)

· 고차원의 데이터(차원축소)를 저차원의 데이터로 환원시키는 기법

· 서로 상관성이 높은 변수들의 선형결합

· 고유벡터 기반의 대변량 분석들 중 가장 쉬움

· 데이터 분포를 가장 크게 설명하는 축을 중심으로 설명함

2. 주성분분석의 목적

· 상관성이 없는(적은) 주성분으로 변수들을 축소

· 군집분석을 수행하면 군집화 결과와 연산속도를 개선

3. 주성분분석 vs 요인분석

가. 요인분석(Factor Analysis)

· 등간척도(혹은 비율척도)로 측정한 두 개 이상의 변수들에 잠재되어 있는 공통인자를 찾아내는 기법

나. 공통점

· 데이터를 축소하는데 사용

· 원래 데이터를 활용해서 몇개의 새로운 변수들을 만들 수 있음.

다. 차이점

1)생성된 변수의수

· 요인분석은 몇 개라고 지정 없이 만들수 있음.

· 주성분분석은 제1주성분, 제2주성분, 제3주성분 정도로 활용

2)생성된 변수 이름

· 요인분석은 분석자가 요인의 이름을 명명

· 주성분분석은 주로 제1주성분, 제2주성분 등으로 표현

3) 생성된 변수들 간의 관계

· 요인분석은 새 변수들은 기본적으로 대등한 관계를 갖고 '어떤 것이 더 중요하다'라는 의미는 요인분석에서는 없음.

· 주성분분석은 제1주성분이 가장 중요하고, 그 다음 제2주성분이 중요하게 취급

4)분석방법의 의미

· 요인분석은 목표변수를 고려하지 않고 그냥 데이터가 주어지면 변수들은 비슷한 성격들로 묶어서 새로운 [잠재]변수들은 만듬.

· 주성분분석은 목표 변수를 고려하여 목표 변수를 잘 예측/분류하기 위하여 원래 변수들의 선형 결합으로 이루어진 몇개의 주성분(변수)들을 찾아냄.

4. 주성분의 선택법

· 주성분분석의 결과에서 누적기여율(cumulative proportion)이 85%이상이면 주성분의 수로 결정

· scree plot을 활용하여 고유값(eigenvalue)이 수명을 유지하기 전단계로 주성분의 수를 선택

'ADSP' 카테고리의 다른 글

PART 03 데이터 분석 - 3  (0) 2020.03.14
PART 03 데이터 분석 - 1  (0) 2020.02.24
PART 02. 데이터 분석 기획  (0) 2020.02.23
PART 01. 데이터 이해  (0) 2020.02.22
[ADSP] R Studio설치  (0) 2020.01.21