[3유형 목차]
더보기
1. 가설검정
① 가설검정
② 단일표본검정
③ 대응표본검정
④ 독립표본검정
2. 범주형 데이터 분석
① 카이제곱 검정
② 적합도 검정
③ 독립성 검정
3. 회귀 분석
① 회귀 분석
② 상관관계
③ 단순선형회귀
④ 다중선형회귀
4. 분산분석
① 분산 분석
② 일원 분산 분석
③ 이원 분산 분석
1. 회귀분석
2. 상관관계
① 기본
df.corr() # 피어슨
df.corr(method = 'spearman') # 스피어맨
df.corr(method = 'kendall') # 켄달타우
② t검정 (p-val < 유의수준: 상관관계가 있다)
from scipy import stats
stats.pearsonr(df['열이름1'], df['열이름2']) # 피어슨
stats.spearmanr(df['열이름1'], df['열이름2']) # 스피어맨
stats.kendalltau(df['열이름1'], df['열이름2']) # 켄달타우
3. 단순선형회귀
from statsmodels.formula.api import ols
model = ols('종속변수~독립변수', data = 데이터명).fit()
model.summary()
# 결정계수: R-squared
# 회귀계수: coef
# 통계적으로 유의미한지: p-value
# 예측값 구하기
newdata = pd.DataFrame({'독립변수':[60]})
model.predict(newdata)
# 잔차제곱합
# 잔차 = 관측(실제)값 - 예측값
df['잔차'] = df['종속변수'] - model.predict(df['독립변수'])
(df['잔차'] ** 2).sum()
# MSE
(df['잔차'] ** 2).mean()
# 독립변수가 A일 때 예측값(가정: 60)에 대한 신뢰구간과 예측구간
newdata = pd.DataFrame({'독립변수':[60]})
pred = model.get_prediction(newdata)
pred.summary_frame(alpha= 0.05)
4. 다중선형회귀(수치형)
from statsmodels.formula.api import ols
model = ols('종속변수~독립변수1+독립변수2+독립변수3', data = 데이터명).fit()
model.summary()
# 회귀계수의 95% 신뢰구간
model.conf_int(alpha = 0.05)
# 독립변수가 A일 때 예측값(가정: 60)에 대한 신뢰구간과 예측구간
newdata = pd.DataFrame({'독립변수1':[60], '독립변수2':[20], '독립변수3':[40]})
pred = model.get_prediction(newdata)
pred.summary_frame(alpha= 0.05)
# pd.set_option('display.max_columns', None # 컬럼 모두 보기
5. 다중선형회귀(범주형)
① 원핫인코딩
df = pd.get_dummies(df, drop_first=True)
② 다중선형회귀
from statsmodels.formula.api import ols
model = ols('종속변수~독립변수1+독립변수2+독립변수3', data = 데이터명).fit()
model.summary()
728x90
'빅데이터분석기사' 카테고리의 다른 글
[3유형] 가설검정 (0) | 2024.11.27 |
---|---|
[1유형] 구름 모의 환경 정답 (0) | 2024.11.18 |
[2유형] 분류 및 회귀 (0) | 2024.11.11 |
댓글