Mendeley-1 MSWORD 플러그인 설치
구글 등에서 Mendeley를 검색하여 공식 홈페이지에서
데스크탑 버전
을 먼저 다운 받는다.설치를 완료하여 데스크탑 버전을 킨 다음, [
Tool
메뉴 >install MS Word Plugin
]을 다운받는다.- 기존에 Mendeley에 원하는 참고논문들을 추가해 넣은 상태
- 플러그인 설치전에는 msword가 종료된 상태여야한다.
MSWORD를 켠 뒤, [
참조
]탭에서 확인할 수 있다.
'한의대 생활 > 본3 - 논문써보기' 카테고리의 다른 글
MSWORD - 수정 전/후 파일을 이용해서 달라진 점 비교하기 (0) | 2019.05.02 |
---|---|
Mendeley-2 MSword 플러그인 참조논문 삽입(Insert Citation) (0) | 2019.05.01 |
15. 각 figure를 pdf로 전환 후, 전체 pdf 하나로 모으기 - PDF24 Creator (0) | 2018.10.13 |
14. 잉크 스케이프를 이용하여 이미지 삽입해서 편집하기 / ppt 등에 그림으로 삽입시키기(*.emf) (0) | 2018.10.13 |
13. 잉크 스케이프를 이용하여 Figure 작성하기 (2) (0) | 2018.10.11 |
1. 데이터 만들 때, 주의점들(필드명, 그룹, 데이터 유효성 검사)
각종 주의점들
- 필드는 오로지
1줄
에 다 입력시키고, 많아지면 데이터 >그룹
을 활용하자- 칼럼1, 칼럼2, ..., 칼럼n,
빈 칼럼
에서, 빈칼럼 앞까지 그룹을 해주면빈 칼럼
이 그룹명이 된다.
- 칼럼1, 칼럼2, ..., 칼럼n,
- 필드명은
영어
로 하자. 통계 프로그램에서 인식 못할 수 도 있다.- 대쉬(-)보다는 언더바(
_
)가 좋다
- 대쉬(-)보다는 언더바(
범주 2개형
의 경우, 성별이나 기저질환 유무 등 하나를 명시하고 다른하나는 0으로 나타내자. 그리고데이터 유효성 검사
를 활용하여, 각 셀에 입력될 값을 제한시키자.나이
의 경우,정수
여야하며, 연령대 제한은범위
로 할 수 있다.
성별(MALE)
의 경우,목록
의 형태로0,1
만 오도록 제한할 수 있으며, 반드시 콤마로 나누어주어야한다. 그러면 드랍다운이 생기면서 선택하거나, 직접 0or1을 입력할 수 있다.
'빅데이터 관련 프로그래밍 > └ 엑셀로 데이터 다루기' 카테고리의 다른 글
빅데이터를 지배하는 통계의 힘
최근에 나는 데이터분석 준전문가(ASdP), SQL개발자(Sqld) 자격증 시험을 치룬 상태이다. 나에게 있어서 한의학이외의 관심은 이러한 분야들이다. 특히, 빅데이터에 관심이 있고, 통계가 서툰 상태에서 간단한 교양수준의 통계책을 읽고 싶었는데 마침 독후감 과제도 있었기 때문에 이 책을 감상하는 시간을 가졌다. 저자 니시우치 히로무는 최대한 실무에 활용할 수 있는 간단한 예제와 수식을 제외한 교양 이론으로 읽는 사람으로 하여금 통찰력을 가질 수 있게 해준 것 같다. 책에서 서술한 모든 통계정보를 A4 1장으로 요약하기엔 무리가 있으니, 기존 지식을 새롭게 이해한 내용 위주로 감상을 적으려고 한다.
먼저, 통찰의 통계학에 필요한 세가지 지식을 소개한다.
평균과 비율의 본질적 의미
- 숫자로 표현되는 양적변수는 평균으로, 문자로 표현되는 질적변수는 비율로 정리하자.
데이터를 구간으로 이해하기
- 평균과 비율로 정의되는 하나의 점만 생각하지말고, 그것들을 떠받히는 구간을 파악해서 어느정도까지 범위에 속해있는지를 항상 생각하자.
값을 어떻게 정리해야하는지에 대한 지혜
- 평균과 비율을 이용하여 최종적으로 조절하고 싶은 결과인 아웃컴(성과지표)를 결정하고, 그 아웃컴에 영향을 미치거나 차이를 설명하는 요인인 설명변수를 설정해서 인과관계를 이용해 값을 정리하자.
비지니스에서 가치있는 데이터분석은최대화하거나 최소화해야하는 항목
이 무엇인지 알아내는 것이라고 한다. 그것이 바로 아웃컴이고 이 아웃컴을 좌웅하는 원인 제공의 대상자인 설명변수는 큰 의미를 가지게 된다. 이러한 설명변수를 설정하는 데 있어서 우선순위도 필요하다.
- 인과관계가 너무 당연한 것은 배제할 것 -> 당연해서 시간 들일 필요가 없다
- 아웃컴에 영향을 명백히 미치더라도 조절이 가능한 변수여야한다
- 분석된 적이 별로 없는 변수여야한다.
- 평균과 비율을 이용하여 최종적으로 조절하고 싶은 결과인 아웃컴(성과지표)를 결정하고, 그 아웃컴에 영향을 미치거나 차이를 설명하는 요인인 설명변수를 설정해서 인과관계를 이용해 값을 정리하자.
이렇게 전반적인 통계에 대한 통찰을 설명해주고, 대표값들(평균, 표준편차) 및 가설검정, 회귀분석의 종류, 결과값이 없는 상태에서 특징을 가지고 분류할 수 있는 인자분석과 군집분석, 마지막에는 총정리를 해주었다. 또한 수학적으로 궁금한 부분은 따로 부록으로 싣어놓아서 필요하면 찾아볼 수 있게 해주었다.
특히나 기억에 남는 서술을 골라서 기술해보면, 제 1종 오류(귀무가설이 옳은데, 대립가설을 채택한 경우)를 덜렁이라 표현하며 제 2종 오류(귀무가설이 틀린데, 귀무가설을 기각하지 않은 경우)를 멍청이라고 표현하였다. 사실 덜렁이는 유의미한 차이가 없는데도 있다고 우기는 경우라고 할 수 있는데, 가설검정의 p-value값이 0.05이하가 나왔다면 덜렁이가 되지 않는다. 이러한 경계선을 유의수준이라고 하며, 제 1종 오류를 범하더라도 인정해주는 최대 한계선이기 때문이다. 즉, p-value 0.05는 덜렁이가 되지 확률 95%를 의미하는 것이기도 하다. 반대로 멍청이는 유의미한 차이가 있는데도 놓치는 경우인데, 제 1종 오류(덜렁이)보다 덜 중요한 문제로서, 멍청이가 되는 경우의 수는 적다고 한다. 다음으로, 회귀분석에 대한 서술이다. 그 중에서도 단일회귀분석에 대한 설명이 참 재미있었다. 만약 어떤 아웃컴을 설명하는 변수가 1개만 있다고 가정하였을 때, 중학수학으로도 회귀식을 표현할 수 있다. 그러나 그 이전에 설명변수를 x축에, 아웃컴을 y축에 놓고 점을 찍는 산포도를 관찰할 수 있는데, 이것은 경향성(상관관계)를 볼 수 있지만, 인과관계는 성립될 수 없다고 하였다. 왜냐하면, 설명변수는 1개라고 설정해놓았을지라도 미처 발견하지 못한 설명변수들이 여러개가 있을 수 있고, 그것들이 통제되지 않는 이상 인과관계는 성립하지 않기 때문이다.
이러한 산포도 위에는 회귀식을 그을 수 있는데 Y= b0 + aX로서, 중학교 직선의 식에 해당한다. 그리고 기울기 a를 해석하는 방법인 "a가 한단위 증가함에 따라 Y가 얼마나 증가하는지"를 관찰하면 된다. 이렇게 단일회귀분석은 간단한 것이었다. 이것 이외에도 다양한 분포와 가정들을 설명해놓았지만, 정보의 양이 너무 많아서 수식과 함께 공부하는 시간은 따로 가지려고 한다.
만약, 내가 한의사가 되고 논문을 쓰거나 사업을 하려면 통계는 필수덕목일 것이다. 요즘같은 빅데이터 시대에서 의학통계에 대한 전공수업이나 교양수업이 부실하다는 것은 너무 안타깝다. 개인적이라도 이러한 분야에 관심을 가지고, 교양으로서 통계를 친숙하게 만들 필요성을 절실하게 느끼는 본과 4학년이다.
5-6. 로지스틱 회귀분석(Logistic Regression)
로지스틱 회귀분석
지금까지 학습한 선형 회귀분석
단순/다중은 모두 종속변수Y가 연속형
이었다.로지스틱회귀분석
은 종속변수가 범주형이면서 0 or 1
인 경우 사용하는 회귀분석이다.
로지스틱 회귀분석을 설명하기 위해서는 먼저 로짓 변환
과 오즈
에 대해서 알아야한다.
왼쪽그림의 경우, Y가 0 or 1(사망/생존, 실패/성공, 불합격/합격)이라면 선형회귀로는 fitting하기가 힘들다. 그래서 곡선으로 fitting
하기 위해 사용하는 것이 logistic함수 = 로짓변환
이다.
Odds
는 비
이고, Odds ratio
는 비의 비율
이다.
Odds의 해석은 확률
에서 시작되어 실패에 비해 성공할 확률의 비
를 의미하며 , odds = p / 1-p
로 계산한다.
예를 들어, 게임에서 이길 확률이 1/5, 질 확률이 4/5이면, 게임에서 이길 odds
1/4이 되며, 계산된 값을 바탕으로 5번 중에, 4번 질 동안 1번 이긴다
라고 해석한다.
이 Odds에 Log를 취한 것
이 바로 로짓(Log p/1-p)
이다.
예를 들어, 아래와 같은 교차표가 있다고 가정해보자.
Odds라는 것은 각 독립변수(drugA, drugB)에 대해 실패/성공에 대한 확률을 구한 뒤, 각각 구하는 것이며, 각 약에 대한 <생존Odds>가 구해지면 -> Odds ratio도 계산
할 수 있다.
Odds ratio는 위험요인과 질병발생간의 연관성을 나타낼 때 사용 + 논문기재시 신뢰구간도 같이 제시
해야한다.
예를 들어, 대조군(DrugB)와 실험군(DrugA)를 이용해서, 위험요인(DrugA)와 생존/사망의 연관성을 나타낼때, 각각의 Odds -> Odds ratio를 구한 뒤 제시한다.
오즈비 = 교차비 = 승산비 = 대응위험도 라는 표현도 쓴다.
Odds(A)구하기
- P(A, A에 대해 생존확률) = 20 / 52 = 0.38
- 1-P(A, 사망확률) = 0.62
- Odds(A) = 실패(사망)에 비해 생존(성공)할 확률의 비 = 0.38 / 0.62 =
0.61
- A약 먹으면, 100명 사망할 동안, 61명 생존
Odds(B)구하기
- P(B, 생존/성공확률) = 24/66 = 0.63
- 1-P(B, 사망/실패확률) = 0.37
- Odds(B) = 0.63 / 0.37 =
1.7
- B약 먹으면, 100명 사망할 동안, 170명 생존
Odds ratio
구한 뒤해석
하기B에 대한 A의 Odds ratio
= 0.61 / 1.7 =0.36
- 해석 :
B에 비해 A일 때, 생존(성공)이 0.36배
=64%가 생존율(성공률)이 떨어진다
로짓 변환
일반 선형회귀모형 glm
: f(x)
= b0 + b1X1 + b2X2 + .. bpXp
- f(x)는 링크함수라고 한다. 이 f(x)자리에 특별한 함수들이 들어가서 구체적인 회귀분석을 만든다.
다중선형 회귀분석
:Y
= b0 + b1X1 + b2X2 + .. bpXp로지스틱 회귀분석
:ln( p/1-p )
= = b0 + b1X1 + b2X2 + .. bpXp
즉, 로지스틱 회귀분석은 일반회귀모형의 링크함수를 로짓으로 변형한 분석이다.
선형회귀분석은 Y값이 -무한대 < Y < +무한대의 연속형이다.
그러나 로지스틱 회귀분석의 경우
- 먼저, p는 0 < p < 1
- 0< 1-p < 1
- p가 0에 가까울 경우 : p/1-p = 0/1 = 0
- p가 1에 가까울 경우 : p/1-p = 1/0 = 무한대
p/1-p
(오즈)의 범위 : 0 < Odds < 무한대ln( p / 1-p )
의 범위 : -무한대 < 로짓 < +무한대
역시.. 링크함수의 범위가 -무한대 < <+무한대 범위를 가지게 된다.
독립변수가 1개인 상황의 로지스틱 회귀분석의 식을 p(독립변수X가 성공할 확률)
에 대해서 정리해보자.
그리고 이 식을 X에 대한 P의 그래프
로 나타내면, P
는 0과 1의 값을 가진다.
관측치x를 대입하면 P는 0 or 1로 fitting시킬 수 있게 된다.
로지스틱 회귀분석에서 통계량의 이해
ln(p/1-p) = b0 + b1X1 + b2X2 + ... + bpXp의 로지스틱회귀분석에서
X1을 위험인자라 가정하고, 아래에 대한 해석을 해보자.오즈비(Odd ratio)에 대한 해석
- 위험인자 있을 때의 로짓1 = 회귀식1(X1=1대입)을 만든다.
- 위험인자 없을 때의 로짓2 = 회귀식2(X1=0대입)을 만든다.
- 회귀식에서 b0, b2X2, ... bpXp는 모두 같고, X1만 대입한 식이 다를 것이다.
- 로짓1과 로짓2를 뺀다.
- 우항은 b1*1 - b1*0 으로 인해
b1
만 남는다.
- 우항은 b1*1 - b1*0 으로 인해
- ln(p/1-p) - ln(p'/1-p') = b1
- ln( 위험인자있을때의 오즈 / 위험인자없을때의 오즈) = b1
ln( 오즈비 ) = b1
==> b1을 ln(오즈비)로 생각하자.
b1 = ln(오즈비)
이므로, b1에 exp취한 값이 오즈비- R에서 실제 구해지는 결과는
b1
이므로, exp를 취한 것(exp(b1)
)을 오즈비로 해석하면 된다. exp(b1) = Odds ratio
는 기준이1
이며효과가 없다
로 해석한다. 즉, 위험요인 0에 비해 위험요인1인 경우, 사망율 1배 -> 0% 사망율이 떨어진다. = 효과없다.1보다 클 경우
는risky
로 해석한다. 즉, 위험요인 0에 비해 위험요인 1인 경우 사망률이 1.5배 -> 사망율이 50% 증가한다.risky
는 분모오즈의 상황(base line, 대조군, X1=0
)에 비해 분자오즈의 상황(위험인자, 실험군, X1=1
)이 더 큰 상황1보다 작을 경우
는protective
로 해석한다. 즉, 위험요인 0에 비해 위험요인 1인 경우 사망률이 0.5배 -> 사망률이 50% 감소한다.
- R에서 실제 구해지는 결과는
유의사항1
: 단, 다른효과가 일정(동일)한 상태라는 가정 이 있어야 한다.유의사항2
: 신뢰구간(Confidence Interval)가 같이 제시해야하며, 적은 값을 기준으로 소극적(보수적)으로 해석한다.- 예를 들어, OR(odds ratio)의
95% CI
= 5.4 ( 3.3 ~ 7.8) =>3.3
기준으로최소 3.3배는 위험하다
로 소극적 해석
- 예를 들어, OR(odds ratio)의
예를 들어보기
종속변수survived(Y)는 0과 1로 구성되어 있고, 0
= 사망, 1
= 생존 이며, 이것을 예측한다고 가정해보자.
R에서 선형회귀분석을 한다면 lm()
이며,
R에서 로지스틱 회귀분석을 한다면, glm()
+ family = 'binomial'
인자를 사용해야한다.
- model <- glm( survived ~ . , family = 'binomial'(link = 'logit'), data= train)
model을 summary()
했을 때, Estimated
로 나온 것은 각 변수들의 회귀계수이다. 여기에 exp()
를 취해야지 Odds ratio
가 나온다.
Coefficiets(회귀계수)
에는 절편(Intercept) + 각 변수들의 기울기와 표준편차 + wald's z-statistics + p-value 가 나온다.
만약 범주형 변수 sex의 회귀계수를 보면, 범주형이므로 male은 기준이 되어 male에 비해 female 한 단위 증가시 Y의 변화량이 나타날 것이다.
그 추정치는 -2.6609987이다. 이것은 bp(회귀계수, 기울기)이므로, exp()를 취해야지 Odds ratio가 나온다.exp(-2.66)
= 0.069
=> *남자(ref, Xp=0)에 비해 female(Xp=1, female)의 생존율 이 0.069배 감소한다
*. 왜냐하면 회귀계수가 음수
이므로 반대로 해석
한다. = female의 생존율은 93.1% 증가한다.
직접적으로 바로 exp( model$coefficients)
로 오즈비(Odds ratio)만 관찰할 수 있다.
Age의 오즈비가 0.959가 나왔다? => age가 한단위 증가할수록 생존율
이 0.959배 증가한다. -> 0.041 감소 -> 생존률이 4.1% 감소한다.
직접적으로 바로 신뢰구간을 포함한 오즈비를 보는 방법은 exp( confint(model) )
를 통해 확인할 수 있다. 2.5% cutoff와 97.5% cut off를 제시한다.
'한의대 생활 > └ 통계에 대한 나의 정리' 카테고리의 다른 글
5-5. 회귀분석(이상치, 가정사항 확인하기) (0) | 2019.02.28 |
---|---|
5-4. 회귀분석(변수 선택 및 모형 비교 for 다중공선성) (1) | 2019.02.28 |
5-3. 회귀분석(회귀모형의 결과해석) (1) | 2019.02.27 |
5-2. 회귀분석(모델링) (0) | 2019.02.25 |
5-1. Tidyverse + Dplyr + Tidyr + Rmarkdown (0) | 2019.02.25 |
5-5. 회귀분석(이상치, 가정사항 확인하기)
회귀분석 이전에 이상치
+ 잔차를 통한 가정사항
을 확인해야한다.
회귀모델의 이상치 확인
이상치 확인1 - outlierTest()
개별적으로 검사하는 것이 아니라 회귀모델 자체를 넣어주면outlierTest( 모델 )
함수로 확인할 수 있다.잔차가 2배이상으로 크거나 2배이하로 작은 값을 이상치로 detect한다
결과에서, 해당변수의 P-value가 0.05이하로 나오면이상치
라 판단하고, 제거한 모델을 만들고 다시 회귀분석한다. ( H0는 이상치가 아니다 인가보다)x축 = 지레점(Leverage) => 높으면
지렛점
y축 = 표준 잔차 => 높으면이상치
점선 => i번째 변수가 빠진상태에서, 회귀계수에 얼마나 큰 영향을 주는지에 대한영향점영향관측치)
이상치확인2 - influencePlot()
x축이 크면 지레점
y축이 크면 이상치
원의크기가 크면 Cook's Distance에 대한 비율로서 정해지는 영향점
잔차진단을 통한 가정사항 확인
잔차
= 관측치(Y, observed) - 추정치(estimated)
제대로 된 모델에서 나온 잔차
는
- 정규분포를 따르고
- 분산이 일정하고
- 특별판 추세(패턴)이 없어야한다.
=> 잔차에 추세(패턴)을 보인다면, 회귀모형에 포함되어야할 정보가 빠졌다는 것이다.
회귀분석의 이론적 배경
회귀모형( Y = b0 + b1X + e
)의 가정
- X는 비확률변수이며, 주어진 어떤 값
- e는 서로 독립이며, 정규분포 N(0,o^2)을 따른다.
- 특히 2번의 가정이 맞지 않는 경우, 단순 회귀분석은 의미가 없다.
e(오차, 엡실론)이 서로 독립이 아닌 경우
- 예를들어, 시계열 데이터는 각 데이터마다 관계성이 있으므로 오차가 독립이 아니다. 이럴때는 Durbin Watson 의 D통계량을 체크해야한다고 한다.
이분산(Heteroscedasticity)의 문제
- 잔차가
등분산
이 아닌 경우는OLS(최소제곱법, 오차의제곱의 합이 최소가 되도록하는 회귀식 구하기)
가 아닌 WLS(Weighted Least Square), GLS(Generalized Least Square)를 사용해야한다고 한다.
이산적(Discrete) 종속변수인 경우
- 종속변수Y가 연속형(숫자형)이 아닌 경우에는, 정규분포를 따르지 않으므로 로짓/프로빗 모형을 적용해야한다고 한다.
결과적으로 잔차( resid( 모델 )
) 에서 체크해야할 사항 3가지
정규성 검정
: 만약 만족하지 않는 경우,Log, Root
를 취해서 정규분포를 취하도록 만든다.
1) resid( lm() )을shapiro.test()
에 넣으면 된다. H0 : 정규분포를 따른다.
2)normal Q-Q plot
에서 45도 line에 있다면 정규분포를 따른다.
3)car패키지의 qqPlot()
으로 정규성을 평가하면 신뢰구간(CI)까지 표시해준다.등분산성 검정
: 잔차가 동일하 분산을 가지지 않는 경우,가중치를 고려한 WLS, 혹은 GLS
를 이용해서 회귀식(선)을 만든다.Fitted Value와 Residual값(or 표준화된 Residual값)
을 plot으로 그려서평행하게 분포(특별한 패턴X)
되면 등분산성을 만족한다. 만약cone
모양으로 점들이 퍼진다면, 등분산성을 만족하지 않는 것이다.
독립성 검정
: 잔차가 독립적이지 않다면,시계열분석
밖이다.- 잔차의 독립성은
durbinWatsonTest( fit )
를 통해한다. dw test
의 결과인D-W statistic
는0 ~ 4
의 값을 가지며,0
은 양의 상관관계를 가져 독립x,4
는 음의 상관관계를 가져 독립x,2
가 독립적인 것을 의미한다. 검정결과가 2에 가깝다면 독립인 것이다.- p-values는
rho(자기상관관계)
에 대한 것이다. 만약 p값이 0.05보다 작다면, 자기상관관계에 있다.
- 잔차의 독립성은
한번에 검정하기
by gvlma패키지의gvlma( 모델 )
- gvlma(모델) 이후 summary()를 하면
Global stat
값이 나온다. 이때는p-value가 0.05보다 커서 H0가 기각 안되어야 H0 : 3+1(비선형회귀가능성)가정이 다 만족하는 것
- 만약 summary( gvlma(모델) )의 결과 Global stat의 p-value가 0.05보다 작다면 H0가 기각되어
적어도 1가지 이상이 잔차의 가정을 만족하지 x
=> 1,2,3 다 하나씩 봐야한다. 하지만 잔차의 진단에서는 p-value를 너무 strict하게 보지 않아도 된다.
- gvlma(모델) 이후 summary()를 하면
'한의대 생활 > └ 통계에 대한 나의 정리' 카테고리의 다른 글
5-6. 로지스틱 회귀분석(Logistic Regression) (12) | 2019.03.03 |
---|---|
5-4. 회귀분석(변수 선택 및 모형 비교 for 다중공선성) (1) | 2019.02.28 |
5-3. 회귀분석(회귀모형의 결과해석) (1) | 2019.02.27 |
5-2. 회귀분석(모델링) (0) | 2019.02.25 |
5-1. Tidyverse + Dplyr + Tidyr + Rmarkdown (0) | 2019.02.25 |