레이블이 Statistics인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Statistics인 게시물을 표시합니다. 모든 게시물 표시

2014년 6월 12일 목요일

[SAF 데이터분석과정 참고] # 통계기초 - 모집단(Population), 표본집단(Sample)

모집단(Population) 이란 어떤 정보를 얻고자 하는 전체 대상 또는 전체 집합을 의미 한다. 그러나 이에 반에 표본집단(Sample)은 모집단으로 부터 추출된 모지받느이 부분 집합으로 이해할 수 있다.

예를들어 2회 이상 방문하신 남성고객과 여성고객의 평균매출금액을 비교한다고 할때 여기서 모집단은 2회이상 방문한 남성고객의 평균매출과 2회이상 방문한 여성고객의 평균매출이 된다. 모든 데이터를 확인하여 얼마나 차이가 있는지 두개의 집단을 비교 분석 할 수 있을지 모른다. 전수조사를 하는것보다 전체 모집단에서 일부분을 추출하여(표본집단) 그 차이를 비교하면 알수 있다. 하지만 전수조사와 같이 100% 정확하다고 말할 순 없다. 표본 집단은 이렇게 모집단을 대표할 수 있는 부분집합이라고 할 수 있는데 비록 정확도가 떨어지긴 하지만 설계하는 방법에 따라 표준집단을 통해 모집단의 특성을 99% 혹은 그 이상의 신뢰도를 가지고 추정할 수 있다.

통계학은 이렇게 실질적, 경제적 또는 그 외 다른 이유로 그 값을 모두 측절할 수 없는 모 집단이 있다고 할 때, 허용될 수 있는 오차 또는 신뢰도를 만족할 수 있는 최소한의 표본을 추출한 후 표본 집단에서 관측 또는 측적된 값으로 모집단의 특성을 추정하는 방법 이라고 할 수 있다. 모집단의 특성을 나타내는 중요한 수치로 평균, 중앙값, 표준편차등의 값이 있다.

표본집단을 추출할 때에는 아래와 같은 사항을 반드시 고려

1) 추출할 표본집단의 크기 ( Sample Size  )
2) 표본 추출 방법 ( Sampling Method )

일반적으로 표본을 추출할때는 무작위 표본 추출(Random Sampling)을 사용한다. 서로 관련성이 없는 표본만을 추출하는 것을 의미 함.

[이미지출철-췌인양의블러그]


* 사전적의미
모집단(population) : 통계적인 관찰의 대상이 되는 집단 전체
표본(Sample) : 전체 모집단의 축도 또는 단면이 된다는 가정하에서 모집단에서 선택된 모집단 구성단위이 일부

2014년 3월 11일 화요일

[Statistics with R] Descriptive Statistics #2 - Mid-Value (대표치)

기술통계가 필요한 이유는 데이터의 합리적인 요약 능력에 있다. 기술통계는 매우 간단한 통계량으로 엄청난 양의 데이터가 갖는 속성을 합리적인 방법으로 간명하게 요약해 줌으로써 독자가 데이터의 속성을 쉽게 이해할 수 있도록 도와준다. 이것이 바로 기술통계가 필요한 이유이다.


기술통계량에는 어떤 것들이 있을까? 크게 4가지 범주로 분류할 수 있다. ① 중심경향성(central tendency) ② 산포도(dispersion) ③ 분포(distribution) ④ 백분위수(percentile) 등이다. 다만 백분위수는 커뮤니케이션 연구에서 거의 사용하지 않기 때문에, 이를 제외한 나머지 세 가지 범주의 기술통계량에 대해 상세하게 살펴보도록 하겠다.

** 기술통계가 필요한 이유 전문 참조
참고URL - 전문내역 원본 링크


* 대표치 : 측정한 데이터의 전체를 대표할 수 있는 성질이나 특성을 수치로 나타낸 값을 대표치라고 한다. 일반적으로 데이터의 중심적인 경향을 나타내는 값이다. 즉 자료의 중심위치를 표시하는 특성치로 우리가 이미 잘 알고 있는 평균도 대표치 중의 하나이다.

1. 계산적 대표치
 - 모든 데이터가 대표치의 계산에 사용되는 추상적인 대표값. 극단적인 값에 영향을 받는 대푯값에는 산술평균, 기하평균, 조화평균, 평방평균 등이 있다.

 1.1. 산술평균(Arithmetic Mean)
- 수리통계학의 평균 계산법으로, n개의 변수의 산술평균은 변수들의 총합을 변수의 개수 n으로 나눈 값이다. 일반적으로 우리가 말하는 평균을 말한다.

 ㄱ. 산술평균에 대한 편차의 합은 0이다.
 ㄴ. 산술평균은 극단값의 영향을 많이 받는다.

- 분석을 접하다 보면 해당 자료중에 극대값을 만나게 된다. 그것으로 인하여 평균값에 영향을 미치게 되고 결정적으로 잘못된 정보를 제공하는 경우가 종종 발생한다. 즉 경우에 따라서는 산술평균의 신뢰도는 떨어 질 수 있다는 단점이 있다.

 - 편차(Deviation) : 각 수치와 대표치와의 차이, 편차의 절대치 합계를 도수로 나눈것을 평균편차라 한다. 즉 편자의 절대치 평균이라 할 수 있다. 

Q. 다음데이터의 산술평균과 표준편차를 구하라!

물론 간단하게 summary(x) 를 하게 되면
> summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   20.0    80.0    85.0    79.5    90.0    95.0

쉽게 값을 뽑아 낼 수도 있다. 일반적으로 산술평균에서 최대치값(MAX)의 편차를 보고 제외 할 것인지 포함 할 것인지 결정하는 것이 경우에 따라서는 데이터 클린징 하는 과저에서 제외 하는 경우가 있다.


 1.2. 기하평균(Geometric Mean)
 - n개의 양수가 있을 때, 이들 수의 곱의 n제곱근의 값이다. 기하평균은 산술평균보다 크지 않다

 - 계산하는 방식도 알겠고 수식도 알겠다. 근데 이해가 가지 않는다. 그래서 찾아 보았다. 기하학적 접근 그것은 무엇인가? 하여튼 갈수록 난해함은 더 커진다.

 - 기하학(Geometry) : 백과사전 용어설명 토지 측량을 위해 도형을 연구하는데서 기원했으며, 공간의 수리적 성질을 연구하는 수학의 한 분야이다.

 - R에서 기하평균을 계산하기 위해선 geometric.mean() 함수를 활용한다.

대략적인 조합의 설명들로 보면 기하평균은 상승률에 대한 평균정보를 알고자 할때 사용하는 것이 적절할것으로 보인다. 올해 경제성장률이 4%, 내년 경제 성장률이 9%일때 평균 성장률이 얼마인가? 산술평균은 6.5%이지만 실제 성장한 정도를 따져보면 100을 기준으로 4%성장은 104가 되고 104에서 9%성장하여 113.36이 되므로 평균적으로 6.47%상승한 것으로 확인 할 수 있다.


 1.3. 조화평균(Arithmetic Mean)
 - n개의 양수에 대하여 그 역수들을 산술평균한 것의 역수를 말한다. 예를 들어, 두 지점 A,B를 갈 때는 a km/h의 속도로, 올 때는 b km/h의 속도로 왕복했다면 이 사람의 평균속력은 a와 b의 조화평균에 해당된다. 또 100 m를 뛰는 데 3회 뛴 시간이 a초, b초, c초였다고 하면, 그 평균은 a,b,c의 조화평균으로 구해진다. 이와 같이 일이나 능률의 예에서는 산술평균을 구하면 틀리게 된다.

Q. 자동차의 5회 운행의 속도(km/sec)를 조사한 자료의 평균속도는?


평균값들을 정리 하면 산술평균 >= 기하평균 >= 조화평균의 관계가 성립힌다. 
x1 = a, x2 = b , a = 5로 고정  b를 5부터 10까지 증가시킬 경우 평균값들의 관계도 
[두값 차이에 따른 평균의 분포]

[세가지 평균의 극단값의 영향도]

이런 기본적인 수준의 평균값 정도를 알았다면 모델링 할때 구매금액에 대한 평균값을 구할때 조화 평균으로 구했었다면 의미가 있었을까 라는 생각을 해보게 된다. 여하튼 극단값에 대한 영향도나 어떠한 경우에 평균값을 사용하는냐에 따라 다른 결과를 가져 올 수 있겠다는 것이 명확하니 반드시 숙지하고 상황에 맞는 것을 선택하여 사용해야 겠다.


2. 위치적 대표치
 계산적 대표치가 극단값에 영향을 받는 단점을 보완한 대표값이다. 데이터의 일부를 이용해서 전체의 특성을 유지하면서 극단값의 영향을 회피하는 방법으로 대표값을 계산

2.1 중위수(Median)
크기순으로 배열 했을 때 전체의 중앙에 위치하는 수치. 예를 들면, 주어진 n개의 자료에 대해 n이 홀수인 경우 크기가 (n+1)/2번째 값, n이 짝수인 경우 크기가 n/2번 째 또는 (n/2)+1 번째 값을 중위수이라고 한다.

2.2 중간값(Mid-Point) 
얻어진 n개의 값 중에서 가장 큰 값과 가장 작은 값의 평균값을 일컫는 말이다. 각 값의 분포상태에는 영향을 미치지 않는다. 평균값·중앙값·최빈값 등과 함께 어떤 측정항목의 도수분포(度數分布)를 하나의 값으로 대표할 때에 사용되는 대표값이다.

2.3 최빈수(Mode)
도수분포에서 최대의 도수를 가지는 변량의 값이다. 예를 들면, 어느 학생의 7회에 걸친 성적이 각각 40점 ·42점 ·45점 ·46점 ·45점 ·45점 ·45점이었다면, 7회 중에서 45점이 모두 4회로서 절대다수이므로 이 집단의 최빈수는 45점이다.

또, 변량의 분포형태가 대칭이면 평균 ·중앙값(메디안) ·최빈수는 일치하나, 비대칭이면 보통 다음과 같은 경험식(經驗式)이 성립한다. (평균)-(최빈수)=3×{(평균)-(중앙값)}

2.4 사분위수(Quartiles) 및 백분위수(Percentiles)
 - 사분위수(Quartiles) : 자료를 크기 순으로 배열하고, 누적 백분율을 4 등분한 각 점에 해당하는 값을 말한다. 제1사분위수는 누적 백분율이 25%에 해당하는 점수이고, 제2사분위수는 누적 백분율이 50%, 제3사분위수는 75%, 제4사분위수는 100%에 해당하는 점수이다. 특히 제2사분위수는 누적 백분율이 50%이므로 개념적으로 중앙값과 동일하다.

- 백분위수(Percentiles) : 사분위수를 4등분이 아닌 100등분할 경우 각각의 절단점을 백분위수라고 한다. 



2.5 절사평균(Trimmed Mean) 
자료의 가장 큰 부분과 작은 부분을 일정 비율 잘라내 버림으로써 계산된다. 예를 들면 20%의 절사 평균이란 포본의 크기가 10인 표본집단의 경우에 제일 작은 값 2개와 제일 큰 값 2개를 버리고 산술평균을 구하는 것이다.


2.6 윈저화 평균(Winsorized Mean) 
극단값을 보정한 평균을 의미하는데 극단값을 제거한 절사평균과 유사함


#참고문헌 및 참고URL
1. R을 이용한 통계학의 이해 - 자유아카데미
2. 네이버백과사전

2014년 2월 25일 화요일

[Statistics with R] Descriptive Statistics #1


Descriptive Statistics (기술통계) - 주어진 데이터를 가지고 도표나 그래프를 그려보거나, 데이터의 중심 경향도나 퍼짐의 정도 등을 이용하여 데이터의 특성을 설명하는 통계 방법

* Inferential Statistics(추측통계) - 모집단에서 추출된 표본에서 나온 통계치로부터 모수를 추정하거나 가설을 검정함


1. 집계표와 집계 그래프

* Frequency Table (도수분포표) - 자료를 일정한 수의 범위로 나누어 분류하고, 각 범위별로 수량을 정리한 표.


(1) 변량 : 자료를 수량으로 나타낸 것

(2) Class(계급) : 변량을 일정한 간격으로 나눈 구간

(3) 계급의 크기 : 변량을 나눈 구간의 너비

(4) 계급값 : 계급의 중앙의 값.

(5) Frequency(도수) : 각 계급에 속하는 자료의 수

(6) Frequency Table(도수분포표) : 주어진 자료를 몇 개의 구간으로 나누고 각 계급에 속하는 도수를 조사하여 나타낸

** Example Script - R


* Contingency Table(분할표) - 각 개체를 어떤 특성(예를 들면, 성별, 나이)에 따라 분류할 때에 얻어지는 자료 정리표이다. 두 가지 변수만으로 구성될 경우 이차원 분할표 혹은 이원분할표가 만들어지고, 여러 가지 변수로 구성될 경우 다차원 분할표가 만들어진다. 두 특성을 분류기준으로 이용할 때 어느 것을 행(row)으로, 어느 것을 열(column)로 정하느냐 하는 것은 자의적이며, 이원분할표에서 두 변수간의 동질성 가정이나 독립성 여부는 카이자승 검정으로 결정한다.


- Marginal Frequency (주변도수) : 분할표에서 행이나 열의 합 - addmargins(data)
- Joint Frequency(결합도수) :  각 셀의 도수

- Marginal Probability(주변확률) : 결합분포표에서 행이나 열의 합계

- hist(), truehist()
- Pie Chart : pie()
- Bar Chart : barplot()
- Mosaic Plot 


* 비율이라는 수치가 2차원 공간에서 면적으로 시각화되어 이해를 쉽게 도와주는 것이고, 이것이 바로 수치 정보인 분할표를 그래프로 변환하는 배경이기도 하다.



[Statistics with R] Data Manipulation

* 데이터 처리를 위한 기본 정보

1. 기본 데이터 타입 ( Basic Type )

logical
논리 값, T or True, F or False
numeric
수치 값, duble, numeric, real (double-precision)
integer
정수 값
character
문자 값, 인용부호로 표기된 것
complex
복소수 값
raw
Bytes

R의 typeof(), mode(), storage.mode() 함수를 사용하여 기본데이터 타입을 체크/확인 할 수 있음

typeof
mode
storage.mode
logical
logical
logical
inetger
numeric
inetger
double
numeric
double
complex
complex
complex
character
character
character


2. 특수한 값

NA : 결측치 (Missing Value)
NaN : 부정(Not a Number), 어떤 값을 0으로 나눈 것
Inf, -Inf : 무한대 (infinite), 양의 무한대, 음의 무한대
NULL : 정의되지 않은 값

쓰다보면 정해진 상수를 사용하는 경우가 있음

pi : 원주율
LETTERS : "A"부터 "Z" 까지의 26개 대문자 알파벳 백터
letters : "a"부터 "z" 까지의 26개 소문자 알파벳 백터
month.abb : "Jan" 부터 "Dec" 까지의 12개월을 나타내는 약어 벡터
month.name : "January" 부터 "December" 까지의 12개월을 나타내는 이름 벡터



3. 데이터 객체

Vector(벡터) - 동일한 기본 데이터 타입으로 구성된 순서가 있는 데이터 구조이며 수학적인 의미의 벡터 이상의 기능이 있어서 문자 값이나 논리 값을 원소로 가질 수 있다.



Matrix(행렬) - 동일한 데이터 모드로 구성된 사각형 구조의 값들이 집합으로 수학에서 행렬을 표현할 수 있다.





Arrary(배열) - 동일한 데이터 모드로 구성된 배열 구조의 값들의 집합으로 행렬은 2차원 배열이라 할 수 있다.



List(리스트) - 데이터 모드가 다른 데이터들을 표현할 수 있는데 Component라고 불리는 각기 다른 데이터 객체로 구성된 데이터 구조체 이다.



Factor - 통계학에서 Categorical Data(범주형 데이터)인 명목척도와 서열척도를 표현하는 데이터 객체로 벡터의 특수한 형태라고 할 수 있다.


Data Frame(데이터프레임) - 일반적인 data set (데이터셋)을 표현하며, 데이터베이스 시스템의 테이블과 유사한 구조이다. 한개 이상의 변수로 구성되며, 각각의 변수의 모드는 같거나 다를 수 있다.



4. Data Import and Export ( Included R Data Save )

외부에 있는 데이터를 읽어 오게 되는 경우가 대부분 일 것이다. 간단하게 테스트 하는 형태로는 엑셀 파일이나 CSV, TEXT 파일 등일수 있으나 RDB로 부터 직접 읽어 드리는 방법도 존재 한다. 이번 포스팅에서는 간단한 형태의 파일을 읽어 오고 내보내는 기능을 보고 향후 포스팅에서 Oracle Database 를 직접 연결하여 가져오는 방법을 공유하도록 한다.




 R Studio - Windows 64Bit 환경 에서 테스트 하였음. 작업을 하다 보면 첨부 이미지와 같이 변수 데이터 들이 저장되어 있음을 볼 수 있다.

# R Studio Image Save
save.image("~/rSample/R_Book/Example_20140225.RData")

# R Studio Image Load
load("~/rSample/R_Book/Example_20140225.RData")


## Oracle Data Import
# Packages Install
install.packages("RODBC")
install.packages("sqldf")
install.packages("tcltk")

# Library Load
library(RODBC)
library(sqldf)
library(tcltk)


#Channel Setting
#channel <- odbcConnect("TNS 설정이름", uid="DB접속아이디", pwd="접속패스워드", believeNRows=FALSE)

channel <- odbcConnect("REAL", uid="USER_ID", pwd="PASSWD", believeNRows=FALSE)

#Data Load
tSales  <- sqlQuery(channel, "select sdate, sales_amt from dual")

str(tSales)
summary(tSales)



## 이 글은 " R을 이용한 통계학의 이해(자유아카데미) " 내용 중 일부를 발췌하였고 개인이 직접 추가한 자료를 포함 하고 있음을 알린다.

## 구매 자유아카데미 출판사 사이트  이곳을 클릭하여 연결

언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 ...