데이터분석/통계 32

파이썬 다항회귀분석

다항회귀분석 차수가 2차수 이상인 다항회귀분석 모델을 만든다. 코드 설명 1. 학습데이터 준비 # 데이터 생성 x_train = sorted(6*rd.rand(100,1)-3) y_train = 0.5 * x**2 + x + 2 + rd.randn(100,1) 2. 학습데이터 다차항으로 transform하기 파이썬에서 다항회귀를 하기 위해선 다항데이터를 만들어 주어야 한다. 즉 aX => bX+cX^2으로 만들어야 한다. degree 파라미터를 이용해 몇차항으로 만들것인지 판단한며 include_bias를 이용하여 bias를 만들껀지 판단한다. 코드는 다음과 같다. # 데이터 만들기 quadratic = PolynomialFeatures(degree=2, include_bias=False) # 다항회귀..

파이썬 선형계획법 해찾기

파이썬 선형계획법 파이썬을 이용하여 선형계획법 문제를 해결한다. 예시문제 1 - 문제상황 A,B,C 세개의 제품이 있고 가장 수익을 많이 내는 방법을 찾는다. 판매가격은 A제품이 10, B제품이 8, C제품이 9 이다. 생산비용은 A제품이 2, B제품이 3, C제품이 1 이며 생산비용의 총합은 1000을 넘어서는 안된다. 생산시간은 A제품이 5, B제품이 6, C제품이 6 이며 생산시간의 총합은 2400을 넘어서는 안된다. 모든 제품은 700이상 생산해서는 안된다. B제품은 160이상 생산해야 한다. - 목적함수 max (10X_1+8X_2+9X_3) - 제한조건 2X_1+3X_2+X_3 = 0 - 코드 from pulp import * # sense: LpMaximize or LpMinimize(de..

나이브 베이즈 확률

나이브베이즈 우리가 구하고자 하는 확률을 사후확률이라고 칭할 뿐 우도와 사후확률은 변수만 반대일 뿐 계산식은 같다 나이브베이즈 예시 양성으로 예측된 사람이 실제로 양성일 확률? - 우도 P(양성예측 | 실제양성) = P(양성예측 n 실제양성) / P(실제양성) = (370/1085) / (385/1085) = 0.9610 - 사전확률 P(실제양성) = 385 / 1085 = 0.354 - 증거(혹은 주변우도) P(양성예측) = 380 / 1085 = 0.350 - 사후확률 P(실제양성 | 양성예측) = (P(양성예측 | 실제양성) * P(실제양성)) / P(양성예측) = 0.961 * 0.354 / 0.350 = 0.971 * 그냥 쉽게 양성으로 예측된 사람 중 실제 양성인 사람(370)에서 양성으로 예..

범주형 변수가 있을 때 다중회귀분석 파이썬 코드

범주형 변수가 있는 회귀분석 x1이 범주형 변수로서 A혹은 B값을 갖을 때, 회귀식을 다음과 같이 변환한다. 이때 더미변수를 처리하는 방식은 풀랭크 방식과 축소 방식이 있다. 각각의 방식을 알아본다. 테스트용 데이터는 보스턴 집값 데이터를 사용한다 풀랭크 방식 풀랭크 방식은 범주형 변수 x1의 값에 정해짐에 따라 다음과 같이 더미값을 설정한다. 그러면 회귀식은 다음과 같다. 위 데이터 중 RAD를 범주형 변수로 간주하고 나이(AGE)와 함께 풀랭크로 표시한다. 코드로 구현하면 다음과 같다. (C로 범주형 변수를 더미화하고, 쿼리에 0을 붙여 풀랭크임을 표시한다.) import pandas as pd from sklearn.datasets import load_boston import statsmodels..

파이썬 단순,다중 선형회귀분석 코드 및 해석

단순선형회귀분석 코드 import numpy as np import pandas as pd import statsmodels.formula.api as smf x=np.array([1,1,2,3,4]) y=np.array([1,2,2,3,4]) data = pd.DataFrame({'x':x, 'y':y}) my_fit = smf.ols('y~x', data=data).fit() print(my_fit.summary()) 통계값 해석 1. R-squared(결정계수) : 모델의 적합도. 2. Adj. R-squared(수정된 결정계수) : 결정계수는 변수가 많아질수록 커지므로 변수의 중요성을 설명하지 못한다. 분모에 변수의 개수가 들어가있는 수정된 결정계수를 사용하면, 변수의 중요도를 알 수 있다(변수..

모평균 구간추정(모 표준편차를 알때(z), 모를때(t)) 파이썬 코드

모평균 구간추정 모평균의 구간추정을 한다. 이때 모 표준편차를 아는 상태(z검정)와 모르는 상태(t검정)로 나누어서 모평균의 구간을 추정한다. 데이터는 아래와 같이 생성하였다. data = np.random.randint(1,100,size=(100)) 모 표준편차를 알 때 모평균 구간 추정(Z검정) 1. 계산식 * 이때 모표준편차의 식은 다음과 같다 2. 코드(직접계산) import numpy as np import pandas as pd from scipy.stats import norm,sem # 평균, 표준편차, 표본수 sample_mean = np.mean(data) sample_std = np.std(data) size = len(data) # z통계량 z_95_left = norm(0, 1)..

카이제곱 검정 (적합도 검정, 독립성 검정, 동질성 검정)

카이제곱 검정 카이제곱 검정은 두 범주형 변수에 대한 분석 방법이다. 다음의 세가지 검증 방법이 있다. 1. 적합도 검정 : 한 범주형 변수의 각 그룹 별 비율과 특정 상수비가 같은지 검증하는 것 2. 독립성 검정 : 두 범주형 변수가 서로 독립인지 검정하는 것 3. 동질성 검정 : 각 집단이 서로 유사한 성향을 갖는지 분석하는 것 적합도 검정 1. 정의 : 어떤 자료가 주어진 분포를 따른다고 할 수 있는가를 검정하는 것. 2. 예시 2.1 주사위의 각 눈금이 나올 확률이 1/6인가 귀무가설 : 주사위의 각 눈금이 나올 확률이 1/6이다. 대립가설 : 주사위 중 적어도 눈금 하나는 나올 확률이 1/6이 아니다. 2.2 (A,B,C,D,E) 각각의 자동차 선호도 확률이 (0.3, 0.15, 0.1, 0...

분산분석 ANOVA (일원, 이원, 다원)

검정 종류 다음과 같은 가설검정 들 중 모집단의 개수가 3개이상일 때 사용하는 분산분석(ANOVA)분석에 대해서 알아 본다 일원분산분석(one-way ANOVA) 1. 정의 : 종속변인 1개, 독립변인 1개인 상황에서 3개이상의 모집단의 평균이 다른지 검증하는 것 2. 예시 2.1 A,B,C 반은 30명으로 구성되어 있다. 반별 수학점수는 같은가 다른가 귀무가설 : 세 반의 수학점수는 모두 같다. (독립변수 : 반) 대립가설 : 적어도 한 반의 수학점수가 다르다. 2.2 제약회사에서 세 종류의 두통약을 개발했다. 두통약 별 효과의 차이가 있는가? 귀무가설 : 두통약의 효과에 차이가 없다. (독립변수 : 약) 대립가설 : 두통약에 효과가 있는 약이 적어도 하나 있다. 2.3 (3,4,5,6)월에 생산된 티..

같은 모집단의 사건 전후를 비교할 때 가설검정(대응표본 t검정)

검정 종류 다음과 같은 가설검정들 중 같은 모집단의 사건 전후를 비교하는(짝을 지을 수 있는) 대응표본 t검정에 대해 알아본다 대응표본 t검정 1. 정의 : 실험 전후에 데이터를 수집한 두 데이터 간 평균 차이를 검증하는 것 2. 기본 가정사항 : 정규성만족 3. 예시 3.1 50명의 부모들이 "부모가 달라졌어요" 시청했을때 시청 전후 양육방식의 변화가 있는가? 귀무가설 : "부모가 달라졌어요" 시청 후 양육방식의 차이가 없다 대립가설 : "부모가 달라졌어요" 시청 후 양육방식의 차이가 있다 3.2 10명의 사격자가 1차 2차 사격을 했을 떄 차수의 평균 변화가 있는가? 귀무가설 : 1차 2차 사격의 평균이 같다. 대립가설 : 1차 2차 사격의 평균이 다르다. 4. 분석과정 4.1 정규성 검정(샤피로..

서로다른 모집단이 두개일때 가설검정(독립표본 t검정)

검정 종류 다음과 같은 가설검정들 중 모집단의 개수가 두개인 단일표본 t검정에 대해 알아본다 독립 표본 t검정 1. 정의 : 두 집단 간의 평균치의 차이를 비교하는 통계 검정 방법 2. 기본 가정사항 : 독립성, 정규성, 등분산성 3. 예시 3.1 A반의 학생 30명의 평균성적은 70, 표준편차는 15, B반 학생의 평균성적은 75, 표준편차는 13일때 두 반의 성적차이가 있는가? 귀무가설 : A반의 학생의 평균성적과 B반의 학생의 평균성적은 차이가 없다. 대립가설 : A반의 학생의 평균성적과 B반의 학생의 평균성적은 차이가 있다. 3.2 20대여자의 휴대폰 사용량은 3시간 표준편차는 25분, 20대남자의 휴대폰사용량은 2시간 45분, 표준편차는 32분일때 남녀별 휴대폰 사용량은 차이가 있는가? 귀..

모집단이 한개일때 가설검정 (단일표본 t검정)

검정 종류 다음과 같은 가설검정들 중 모집단의 개수가 한개인 단일표본 t검정에 대해 알아본다 단일표본 t검정(one sample t-test) 1. 정의 : 모집단의 평균을 알때, 해당 모집단으로 부터 추출한 표본의 평균이 알고있는 모집단의 평균과 차이가 있는지 검정하는 것 2. 기본 가정사항 : 정규성을 만족해야 함. (표본이 30개이상이면 중심극한정리에 의해 정규성 만족) 3. 예시 3.1 국내 개인 피폭선량 평균은 0.67일때, K 병원의 영상의학과 직원의 평균피폭량 0.75는 국내평균과 차이가 있는가? 귀무가설 : K병원의 평균 피폭선량과 국내 개인 피폭선량의 평균값은 차이가 없다. 대립가설 : K병원의 평균 피폭선량과 국내 개인 피폭선량의 평균값은 차이가 있다. 3.2 서울대학교 학생의 수업만족..

연관규칙 (지지도 신뢰도 향상도)

1. 지지도(support) A상품과 B상품의 지지도 = A상품과 B상품을 같이 구입한 횟수 / 전체 구매 횟수 2. 신뢰도(Confidence) A상품에 대한 B상품의 신뢰도 = A상품과 B상품의 동시출현 횟수 / A상품 출현 횟수 3. 향상도(lift) 그냥 B항목을 샀을 때 대비 A상품을 사고 B상품을 샀을때 구매할 확률 증가값 = A상품과 B상품 동시출현 확률 / (A상품 구매확률 * B상품 구매확률 )

정상성 테스트 및 비정상성 제거 실습

0. 정상성의 의미 정상성의 의미와 예시에 대해서 아래의 글에 정리했다. sosoeasy.tistory.com/387 시계열에서 정상성의 의미 1. 의미 정상성(Stationarity Process)이란? => 평균, 분산, 공분산 및 기타 모든 분포적 특성이 일정함을 의미. 시계열이 정상적이다? => 시간의 흐름에 따라 "통계적 특성(평균, 분산, 공분산)"이 변하지 sosoeasy.tistory.com 1. 정상화 및 정상성 테스트 이번 장에서는 비정상성 데이터를 정상화 하고, 정상성을 테스트 하는 방법에 대해서 실습해 본다. 정상화 하는 방법은 4가지 정도가 있다. (1) 추세차분 (2) 계절성차분 (3) 로그화 (4) box-cox변환 각각을 실습을 통해 수행해 본다 2. (1)추세차분, (2)계..

앙상블기법 배깅(bagging)과 부스팅(boosting)

0. 앙상블 머신러닝에서 여러개의 모델을 학습시켜 모델의 예측결과를 이용해 하나의 모델보다 더 나은 값을 예측하는것 1. 배깅(bagging) 높은 variance를 낮추는 것 (과적합 된 모델을 샘플링을 통해 과적합을 완화시키는것) bootstrapping을 통해 여러 학습 데이터를 만들고 이들의 평균값을 구하는것. bias가 낮은 모델들을 이용하여 variance를 줄인다. (중심극한정리의 원리와 비슷하다) - 의사결정나무 from sklearn.tree import DecisionTreeRegressor # DecisionTree fit_reg5 = DecisionTreeRegressor().fit(X_train_feRSM, Y_train_feR) pred_tr_reg5_feRSM = fit_reg..