여정의 기록
R, Python을 이용한 산점도, 상관계수, 회귀분석 본문
728x90
R
# 산점도 그리기
plot(data$y, data$x, pch=19)
# 산점도 그래프 행렬
pairs(data[,-1], pch=19)
# 상관계수 행렬
cor(data[,-1])
Python
import pandas as pd
import matplotlib.pyplot as plt
# 산점도 그리기
plt.scatter(data.y, data.x)
plt.title("dㅓ쩌고")
plt.xlabel('x')
plt.ylabel('y')
plt.show()
# 산점도 그래프 행렬 그리기
import seaborn as sns
sns.set(style="ticks")
sns.pairplot(data)
# 상관관계 행렬 보기
import numpy as np
np.corrcoef(data.y, data.x)
회귀분석
모형 가정 -> 모형 적합 -> 모형 진단 -> 모형 가정 ...
# . 으로 표시하면 all 이란 뜻이다.
fit = lm(x ~ . , data=data) # 선형회귀 모형 적합하는 함수
names(fit) # 어떤 것을 확인할 수 있는지 볼 수 있다.
fit$resid # 잔차 확인
fit$coef # 회귀에 대한 계수
summary(fit) # 기술통계... 회귀식 확인 가능(Estimate), R-squared(잔차값), F-value ...
적합된 회귀모형에 대한 분산분석표
요인 | 자유도 | 제곱합 | 평균제곱 | F |
회귀 | p | SSR | MSR=(SSR/p) | MSR/MSE |
잔차 | n-p-1 | SSE | MSE | |
SUM | n-1 | SST=(SSR+SSE) |
# R
anova(fit) # 분산분석표
"""
Df 자유도
Sum_Sq 추가제곱합
Sum_Sq 모든 변수 다 더한것 -> SSR
Residuals = SSE 잔차
SST = SSR + SSE
"""
# Python
import statsmodels.api as sm
X = sm.add_constant(X) # const라는 상수항을 추가해준다.
model = sm.OLS(Y,X)
"""
X에는 상수항이 들어있어야 한다.
Y = B0 + B1*X1 + B2*X2 + e
"""
result = model.fit()
print(result.summary()) # 회귀모형에 대한 결과
Scikit-learn에서도 회귀모형에 대해 제공한다.
from sklearn.linear_model import LinearRegression
result = LinearRegression().fit(X2, Y)
# 독립변수에 대한 intercept 볼 수 있다 ...
728x90
'공부중 ... > 파이썬과 R' 카테고리의 다른 글
Pandas, dplyr 간단하게 몇가지 함수 ... (0) | 2022.12.11 |
---|---|
분산분석이란 ... (0) | 2022.12.11 |
t-검정에 대하여 (0) | 2022.12.09 |
R, python을 이용한 기술통계 (0) | 2022.12.09 |
자료의 입력과 출력 (0) | 2022.12.07 |