반응형

Data Analysis & ML 109

[회귀분석] 회귀분석 실습(2) - 잔차분석 (Python)

1. [회귀분석] 회귀분석 실습(1) - Statsmodel분석/데이터 스케일링(Python) : ysyblog.tistory.com/119 [회귀분석] 회귀분석 실습(1) - OLS 회귀분석 결과 해석 및 범주형 변수 처리 (Statsmodel)Statsmodel을 활용한 회귀분석 statsmodels 패키지에서는 OLS 클래스를 사용하여 선형 회귀분석을 실시한다 독립변수와 종속변수가 모두 포함된 데이터프레임이 생성되며, 상수항 결합은 하지 않아도ysyblog.tistory.com이번 포스팅은 파이썬으로 잔차분석을 하는 방법들을 소개하겠습니다. 이번 포스팅은 위 포스팅에 이어 진행됩니다. 잔차분석잔차분석은 회귀모형에 대한 가정(정규성, 등분산성, 독립성)을 충족하는지에 대한 검정, 이상치가 개입하는지에..

[회귀분석] 회귀분석 실습(1) - OLS 회귀분석 결과 해석 및 범주형 변수 처리 (Statsmodel)

Statsmodel을 활용한 회귀분석statsmodels 패키지에서는 OLS 클래스를 사용하여 선형 회귀분석을 실시한다독립변수와 종속변수가 모두 포함된 데이터프레임이 생성되며, 상수항 결합은 하지 않아도 된다.from_formula 메서드의 인수로 종속변수와 독립변수를 지정하는 formula 문자열을 넣는다. data 인수로는 독립변수와 종속변수가 모두 포함된 데이터프레임을 넣는다.EX) model = OLS.from_formula(formula, data=df)또한 독립변수만 있는 데이터프레임 X와 종속변수만 있는 데이터프레임 y를 인수로 넣어서 만들 수도 있다. 이 때는 독립변수만 있는 데이터프레임 X가 상수항을 가지고 있어야 한다.EX) model = OLS(dfy, dfX)fit 메서드로 모형 추..

[LTV] BTYD (Buy-till-you-Die) - Pareto / NBD

LTV (Life Time Value) LTV(또는 CLV)로 부르는 ‘고객 생애 가치’는 고객이 평생동안 기업에게 어느 정도의 가치를 가져다 주는지를 정량화한 지표. LTV는 확률 기반 모형으로 특정한 시점 t에서 고객마다 어느 정도의 생애 가치를 가지는지 측정 회사가 얼마나 수익성이 있을지 또는 신규 고객을 확보하기 위해 얼마나 많은 비용을 지출할 수 있는지를 이해하는 데 중요한 지표 BTYD BTYD(Buy Till You Die) 모델은 고객 평생 가치를 계산하기 위해 과거 거래 데이터에 확률적 모델을 적용 BYTD 모델은 다음과 같은 질문에 답을 해준다고 한다. 활성 고객은 몇 명인가 지금부터 N년 후에 얼마나 많은 고객이 활동중일까 어떤 고객이 이탈했나 고객은 미래에 회사에 얼마나 가치가 있을..

[회귀분석] 로지스틱 회귀분석(2) - 로지스틱 회귀식과 회귀계수 추정(최대 우도 추정법(MLE))

로짓을 활용하여 로지스틱 회귀식 도출성공확률에 대한 로그식을 선형회귀식으로 산출설명변수들이 주어졌을때 성공범주에 속할 확률을 구하기1/ 양쪽에 지수함수를 씌움2/ cross로 곱한다음 정리→ 성공확률의 식 회귀계수의 추정베르누이 분포로지스틱 회귀는 베르누이 시행(Bernoulli trial)을 전제로 하는 모델입니다. 베르누이 시행이란 어떤 실험이 두 가지 결과만을 가지는 실험을 가리킵니다. 베르누이 시행의 결과에 따라 0(실패) 또는 1(성공)의 값을 대응시키는 확률변수(random variable)를 베르누이 확률변수라 합니다. 이 확률변수의 확률분포를 베르누이 분포라고 합니다.     Likelihood는 각각의 객체들에 대해 정답 클래스로 분류될 확률 (모델 A의 glass1에서 likelihoo..

[회귀분석] 로지스틱 회귀분석(1) - 오즈와 로짓

로지스틱이 필요한 이유- 종속변수가 특이할 경우- 종속변수가 이항변수인 경우(변수가 가지는 값이 딱 2가지인 경우)OLS 회귀분석을 쓰면 안되는 이유예제 : 타이타닉, 독립변수 : survived, 종속변수 : pclassimport seaborn as snsimport statsmodels.api as smimport pandas as pdimport numpy as nptitanic = sns.load_dataset("titanic")model1 = sm.OLS.from_formula("survived ~ C(pclass)", data=titanic)result1 = model1.fit()print(result1.summary())1st class의 생존 예측 결과 : 0.62962nd class의 ..

[회귀분석] 다중선형회귀분석(2) - 다중선형회귀모형 개념/활용/검증

다중선형회귀분석 목적 : 정량적인 종속변수 Y와 여러가지 설명변수 X들의 사이에 선형관계식을 찾는것 다중선형회귀분석의 식 결합 계수(베타)들은 이미 정의가 되어 있음 그러나 앱실론 (노이즈)이 문제 (시스템이나 사람이 어찌할 수 없는 변동성을 노이즈라고 칭함) 따라서 다중선형회귀분석의 목적은 베타(회귀계수)들을 찾는것. 다중선형회귀분석의 2가지 유형 1. 설명적 회귀분석(explanatory regression) 설명변수와 종속변수의 관계를 설명하는 것이 목적 모델의 목적은 데이터를 잘 fitting하여, 설명변수가 종속변수에 얼마나 영향을 끼치는지 알아내는것 얼마나 모델이 잘 만들어졌는지는 R-squared로 판단 (+residual analysis(잔차분석) , p-values) 여기서 중요한것은 베..

[회귀분석] 다중선형회귀분석(1) - 다중선형회귀모형의 가정

다중회귀모형이란설명변수(독립변수)가 2 개 이상인 회귀모형을 분석대상으로하는 것.다중회귀모형은 분석내용을 향상시킬 수 있다는 장점이 있음추가적인 독립변수를 도입함으로써 오차항의 값을 줄일 수 있으며단순회귀분석의 단점을 극복종속변수를 설명하는 독립변수가 두개일 때 단순회귀모형을 적용하면, 모형설정이 부정확할 뿐 아니라 종속변수에 대한 중요한 설명변수(독립변수)를 누락함으로써 계수 추정량에 대해 편의(bias)가 생길 수 있다. 따라서 다중회귀분석을 통해 편의현상(bias)을 제거할 수 있다. 다중회귀모형의 식다중회귀모형의 식은 다음과 같다.여러개의 다중회귀모형 식을 아래와 같이 행렬로도 나타낼 수 있다. 다중회귀모형의 가정1. 회귀모형은 모수에 대해 선형인 모형이다. => Yi = β0 + β1 X1i +..

[Matching][매칭] PSM(Propensity Score Matching) (PSMPY)

매칭 (Matching) 실험집단과 통제집단 간의 특성이 유사하도록 인위적으로 매칭 장점 : 통제변수의 역할과 유사하지만, 관찰가능한 통제 변수를 기반으로 분석 대상을 균일하게 조정함으로써 그 외 관찰되지 않은 요인들도 유사할 것으로 가정 즉 통제변수는 딱 지정하는 변수만 유사하게 만들 수 있지만, 매칭은 지정하는 변수만 유사하게 만드는 것이 아닌 집단 자체를 유사하게 만듬 단점 : 분석대상의 숫자가 작아질 수 있음, 외적 타당성에 더 취약해짐 대표적 매칭 방법론 모든 통제변수에 대해 값이 적당히 유사한 데이터만 매칭 : Coarsened Exact Matching(CEM) 모든 통제변수들에 기반하여 실험집단이 될 경향성을 계산 후, 경향성이 유사한 데이터만 매칭 : Propensity Score Mat..

[인과추론] 이중차분법 (Difference in Difference)

이중차분법 (Difference in Difference) 차이의 차이 이용하여 treatment effect가 존재하는지 분석하는 기법 실험집단과 통제집단 간 비교 가능하지 않은 요인(선택편향) 분해 1중 차분 : 실험 집단(&대조군 집단) 내에서 정책 시행 전후 차이를 비교 2중 차분 : 실험집단에서의 정책 시행 전후 차이와 통제집단에서의 정책 시행 전후 차이를 비교 DID값이 왜 인과추론에 효과적인가 • 1종 차분 : TA - TB는 treatment에 따른 실험군의 시간에 따른 변화를, CA - CB는 대조군의 시간에 따른 변화 • 2종 차분: TA - CA 는 treatment 이후에 실험군과 대조군의 차이를, TB-CB는 treatment 시점 이전에 실험군과 대조군의 차이를 의미 DID 깂은..

[인과추론] 평행추세검증 (이중차분법/Event study approach / Leads-and lags model / Relative time model)

이중 차분법을 활용하기 위해서는 평행추세가정을 만족하여야 한다. 이번 포스팅에서는 평행추세를 검증하는 방법을 알아본다.평행추세가정평행추세가정 : 실험군과 대조군이 event가 발생하기 전에는 비슷한 흐름을 보이고 있어야 한다. 즉 ‘시간에 따라 변하는’ 선택 편향 요인은 두 집단에 유사하게 영향을 미칠 것이다. (= 실험집단과 통제집단이 시간에 따라 유사하게 변할 것이다)물론 평행추세검증은 확인하기가 힘드나, Treatment가 발생한 이전의 흐름은 검정가능하다.이를 검증하기 위해 도표를 그려서 확인한다.그러나 실험군이 여러개이고, Treatment  시점이 다르다면, 이렇게 두그룹으로 나눠서 도표로 보기 힘들다.따라서 아래의 모델을 활용하여 평행추세를 통계적으로 검증한다. 통계적 검증(Event stu..

반응형