In [1]:
from __future__ import print_function, division
앞서 GongSu22에서 표본 데이터를 이용하여 모집단의 평균과 분산에 대한 점추정을 알아보았다. 여기서는 표본분포를 이용하여 미국 51개 주에서 거래된 담배(식물) 도매가의 평균에 대한 신뢰구간을 구하는 방법을 알아본다.
In [2]:
import numpy as np
import pandas as pd
from scipy import stats
Weed_Price.csv의 date 열에는 거래일자가 2014-01-01의 형식으로 포함되어 있다. 이 정보를 이용하여 연도별, 월별 데이터를 구하려면 거래일자로부터 연도 또는 월에 대한 정보만을 추출할 수 있어야 한다.
여기서는 Timestamp 자료형의 속성을 활용하여 필요한 정보를 얻는 방식을 배운다.
In [4]:
weed_pd = pd.read_csv("data/Weed_Price.csv", parse_dates=[-1])
weed_pd.head()
Out[4]:
In [5]:
weed_pd.tail()
Out[5]:
In [12]:
weed_pd.dtypes
Out[12]:
In [16]:
weed_pd.date.head()
Out[16]:
In [18]:
weed_pd.date[0]
Out[18]:
Timestamp 자료형에는 year, month, day 등 거래일자에 대한 구체적인 구체적인 정보를 담고 있는 속성이 포함되어 있다.
In [5]:
weed_pd.date[0].year
Out[5]:
In [6]:
weed_pd.date[0].month
Out[6]:
In [7]:
weed_pd.date[0].day
Out[7]:
In [8]:
type(weed_pd.date)
Out[8]:
x
가 Timestamp 자료형일 때, x
에서 연도 정보를 추출하는 함수를 아래와 같이 정의할 수 있다.
In [20]:
def getYear(x):
return x.year
동일한 방식으로 x가 Timestamp 자료형일 때, x 에서 월에 정보를 추출하는 함수를 아래와 같이 정의할 수 있다.
In [21]:
def getMonth(x):
return x.month
이제 두 함수를 이용하여 거래년도 만을 담는 칸을 추가할 수 있다.
먼저 아래 코드를 실행해보자.
In [23]:
year_col = weed_pd.date.apply(getYear)
year_col.head()
Out[23]:
위 결과의 자료형은 Series 이다.
In [24]:
type(year_col)
Out[24]:
동일한 방식으로 month_col을 추출한다.
In [25]:
month_col = weed_pd.date.apply(getMonth)
month_col.head()
Out[25]:
In [27]:
weed_pd["month"] = month_col
weed_pd["year"] = year_col
두 개의 열이 추가되었음을 확인할 수 있다.
In [28]:
weed_pd.head()
Out[28]:
마스크 인덱싱을 활용하여 캘리포니아 주에서 2014년도에 거래된 데이터만 추출할 수 있다.
주의: weed_pd에 year 열을 추가하였기에 아래 방식이 가능하다.
In [30]:
weed_ca_2014 = weed_pd[(weed_pd.State=="California") & (weed_pd.year==2014)]
weed_ca_2014.head()
Out[30]:
In [32]:
ca_2014_mean = weed_ca_2014.HighQ.mean()
ca_2014_mean
Out[32]:
In [33]:
ca_2014_std = weed_ca_2014.HighQ.std()
ca_2014_std
Out[33]:
In [34]:
stats.norm.interval(0.95, loc=ca_2014_mean, scale = ca_2014_std/np.sqrt(len(weed_ca_2014)))
Out[34]:
신뢰구간 설명: Weed_Price.csv 파일에는 거래된 담배의 도매가의 일부 데이터들의 표본을 담고 있다. 하지만 이 정보를 이용하여 미국 전체에서 거래된 모든 모대가에 대한 정보를 추정할 수 있다. 이를 위해 표본분포를 활용하며, 앞서 구한 신뢰구간의 의미는 다음과 같다.
캘리포니아 주에서 2014년도에 거래된 모든 상품(HighQ) 담배(식물)의 도매가의 평균값은 앞서 구한 신뢰구간에 위치할 확률이 95%이다.