기초통계 (17) 카이제곱분포, F분포, 푸아송 분포 및 기타 다른분포들

생각하는 마리오네트·2021년 10월 3일
0

통계

목록 보기
23/41

각 분포에대한 검정까지 학습후 다시정리해서 출간할 예정

📈 카이제곱분포

  • 카이제곱통계량은 검정결과가 독립성에 대한 귀무 기대값에서 벗어난 정도를 측정하는 통계량이다.
  • 카이제곱통계량은 관측 데이터가 특정 분포에 '적합'한 정도를 나타낸다(적합도검정).
  • 여러 처리('A/ B/ C....')의 효과가 서로 다른지 여부를 결정하는데 유용하다.
  • 카이제곱분포는 일반적으로 범주에 속하는 주제 또는 항목의 수와 관련이 있다.
  • 카이제곱통계는 귀무 모델의 기댓값에서 벗어난 정도를 측정한다.
    (요약 : 분포, 빈도, 비율)

📈 F분포

  • 카이제곱분포에서 말함 A/B/C 검정과 유사하지만 횟수가 아닌 연속된 관측값을 처리한다.
  • 이 경우 그룹 평균 간의 차이가 정규 무작위 변동에서 예상할 수 있는것보다 얼마나 큰지에 관심이 있다.
  • F 통계량은 이를 측정하는 것이며, 각 그룹내 변동성에 대한 그룹 평균 간 변동성의 비율을 의미한다.
  • 이러한 비교를 분산분석(ANOVA)이라고 한다.
  • F 통계량의 분포는 모든 그룹의 평균이 동일한 경우(귀무가설)무작위 순열 데이터에 의해 생성되는 모든 값의 빈도 분포다.
  • F 통계량은 회귀모형에 의해 설명된 변동성을 데이터 전체의 변동과 비교하기 위해 선형회귀에도 사용된다. F통계량은 회귀 및 ANOVA 루틴의 일부로 R과 파이썬에 의해 자동으로 생성된다.
  • F 통계량은 관심 요인으로 인한 변동성과 전체 변동성을 비교한다.

📈 푸아송 분포와 그 외 관련 분포들

📈 용어 정리

  • 람다(lambda) : 단위 시간이나 단위 면적당 사건이 발생하는 비율
  • 푸아송 분포(Poisson distribution) : 한 사건에서 그다음 사건까지의 시간이나 거리에 대한 도수분표
  • 지수분포(exponential distribution) : 한 사건에서 그다음 사건까지의 시간이나 거리에 대한 도수분포
  • 베이불 분포(Weibull distribution) : 사건 발생률이 시간에 따라 변화하는, 지수분포의 일반화된 버전

📈 푸아송 분포(Poisson distribution)

  • 시간별 혹은 공간별로 사건 발생이 얼마나 다른지 알고싶을 때가 있다.
  • 포아송 분포는 시간단위 또는 공간단위로 표본들을 수집할 때, 그 사건들의 분포를 알려준다.
  • 예를 들어 " 5초동안(시간단위) 서버에 도착한 인터넷 트래픽을 95% 확률로 완벽하게 처리하는 데 필요한 용량은 얼마일까?? " 와 같은 질문에 답할 수 있다.
  • 푸아송 분포의 핵심 파라미터는 람다 이다.
  • 람다는 어떤 일정 시간/공간의 구간 안에서 발생한 평균 사건 수를 의미한다.
  • 푸아송 분포의 분산 역시 람다이다.
# 고객 서비스 센터에 1분당 평균 2회로 문의 전화가 접수된다면, 이 코드는 100분을 시뮬레이션하여 100분당의 문의전화 횟수를 알려준다.
from scipy.stats import poisson
stats.poisson.rvs(2, size = 100)

>>>

array([2, 2, 0, 1, 2, 1, 0, 3, 1, 2, 2, 3, 1, 0, 2, 2, 1, 0, 3, 3, 0, 1,
       1, 1, 1, 3, 1, 0, 4, 2, 2, 3, 0, 1, 1, 2, 1, 2, 0, 3, 5, 0, 2, 3,
       2, 3, 2, 0, 4, 2, 3, 1, 0, 1, 3, 2, 1, 1, 4, 3, 0, 0, 3, 4, 0, 2,
       0, 5, 1, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 1, 4, 2, 1, 3, 0, 4, 2, 1,
       4, 1, 1, 3, 3, 2, 0, 4, 5, 2, 1, 2])

📈 지수분포(exponential distribution)

  • 푸아송 분포에 사용된것과 동일한 변수 람다를 사용하여 사건과 사건간의 시간 분포를 모델링할 수 있다.
  • 예를 들면 웹사이트 방문이 일어난 시간, 톨게이트에 자동차가 도착하는 시간 사이
  • python에서 stats.expon.rvs 함수를 통해 할 수 있다.
# 주기별 평균 사건수가 0.2인 지수분포에서 난수 100개를 생성한다.
stats.expon.rvs(scale =1/0.2, size = 100)
>>>
array([ 2.83161383,  5.87599956,  7.09770444,  6.59539018,  1.34060418,
        0.49024948,  1.78777536,  1.28597865,  3.65150978, 18.05131921,
       12.93383674,  5.77733891,  4.90683437,  6.34247895,  1.60961142,
        0.37324244,  4.70866866,  8.48289424,  0.82206966,  1.40557441,
        0.99249365,  7.313301  ,  8.34125625,  3.72328492, 10.65538525,
        9.30298393, 19.17097226, 14.58095951,  5.59619031, 12.58576007,
        0.18755054, 18.22518184,  0.84582346,  1.80847032,  4.5441468 ,
        1.36294221,  8.85469366,  1.44382618,  3.98929988,  2.1841136 ,
       13.68696508,  1.03064444,  3.59466464,  0.18357611, 10.26427882,
       11.07998498,  8.78256782,  4.19427178,  1.26453015,  8.35450947,
        4.17598366,  0.81432533,  1.35634455,  0.5309874 ,  3.06032343,
        5.27993963,  0.47194573,  4.35436506,  4.08343688,  6.70132127,
        0.05728187,  2.70470197,  6.18029251,  5.59900001,  2.9040693 ,
        7.67056445,  6.22923025,  7.92822789, 15.9841621 , 10.04318921,
        4.62451941,  1.4828706 ,  4.04061677,  0.62780147,  0.36228005,
       16.01774375,  2.1448522 ,  2.14102659,  3.61680849, 13.66167552,
        2.36125908,  1.15390957,  7.90700689,  5.95503497,  5.86369907,
        7.40407768,  0.51701943,  3.23930219, 13.96901753,  0.39063766,
        0.75233261,  1.34734235,  1.96983412,  2.09615292, 13.59674578,
        8.89692078,  2.87997619,  2.09317722,  0.55494661,  1.34706359])
  • 따라서 분당 평균적으로 0.2회 서비스 문의전화가 걸려오는 경우, 100분동안의 서비스 센터 문의 전화를 시뮬레이션 할 수 있다.
  • 푸아송이나 지수분포에 대한 연구에서 핵심은 람다가 해당 기간동안 일정하게 유지 된다는 가정이다.
  • 그러나 이러기는 힘들다 예를들어 도로의 교통상황이나 데이터망의 트래픽의 경우 시간이나 요일에 따라 같을 수가 없기 때문이다.
  • 그래서 시간 주기 또는 공간을, 일정 기간 충분히 동일하게 영역을 잘 나눈다면, 시뮬레이션이 가능할 것이다.

📈 베이불 분포

  • 베이불 분포는 사건 발생률이 시간에 따라 지속적으로 변할때 사용하는것으로 해당경우는 지수 또는 포아송 분포는 더이상 유용하지 않는 분포이다.
  • 예를 들어 기계의 고장이 있다, 많은 기계제품의 경우 시간이 지날수록 고장의 위험이 증가한다.
  • 베이불 분포는 지수분포를 확장한 것으로, 형상(shape)파라미터 "베타"로 지정된 대로 발생률이 달라질 수 있다.
  • 만약 베타가 1보다 크면 발생률이 시간이 지남에 따라 증가되며, 베타가 1보다 작으면 감소하게 된다.
  • 베이불 분포는 사건 발생률 대신 고장 시간 분석에 사용되기 때문에 두번째 인수는 구간당 사건 발생률 보다는 특성 수명으로 표현된다.(기호로는 "에타"를 사용한다.)
  • 즉, 베이불을 사용할 때는 두 변수 베타와 에타의 추정이 포함된다.
# 베타가 1.5이고 에타(특성수명)가 5,000인 베이불 분포에 난수 100개(수명)를 생성한다.
from scipy import stats
stats.weibull_min.rvs(1.5, scale = 5000, size = 100)

>>>
array([ 4265.23759127,  3068.85781101,  5298.47530956,  1117.92752634,
        5084.18079844,   962.71521674, 11748.36228066,  1984.28337826,
        1466.0073947 ,  4558.06508839,  2488.6629193 ,  2135.61008803,
        5998.23690237,  9197.36889414,  7414.90411677,  6426.54409256,
       12942.7932821 ,   851.29732478,  8014.10926678,  7606.61291446,
        2952.90477905,  4868.86726459,  4412.73106486,  1985.68749633,
        4431.32628231,  3637.13447907,  5867.08133423,  4959.54805177,
        6426.27871362,  8008.24672871, 10216.43843719,   636.05970585,
        5415.8618715 , 12511.86015669,   687.33499027,  2055.68784622,
        1277.16844037,  4211.41786038,  3376.66373307,  2818.48276328,
        4371.96822805,  1885.38737778,  5548.02430733,  3064.9330732 ,
        4652.44592233,  4481.12007505,  1985.15289854,  8652.3248546 ,
        1115.79239363,   734.36696871, 10198.5651487 ,  9042.52167434,
        5942.78334356,  4142.50800588,   964.12584346,  4744.61340226,
        5238.71832889,  5482.04549974,  7325.15283736,  3936.78220865,
        3327.18831955,  8516.48547858,  8276.92503794,  5100.30954008,
        6826.23070421,  4743.56943542,  3698.11147965,  2005.33794381,
        8414.77288875,  3459.87391567,  3433.13039997,  3335.78544523,
        2268.84474414,  6108.97155663,  2770.14383534,  1728.02910633,
        3836.93709379,  4745.58067355,  4264.73282377,  2798.50949429,
        3838.14917453,  5350.63129796,  7392.25543275,  1201.86462676,
        3338.46799637,  3283.15111407,   674.27465474,  4914.96483137,
        6594.29549014,  8244.41626172,  2544.3105529 ,  3026.14672273,
        1389.50553282,  6736.59185274,  8693.78569413,  2400.55694298,
        4829.81960369,  3790.62023891, 13492.16796602,  2741.27680399])

📈 정리

  • 일정 비율로 발생하는 사건의 경우, 시간 단위 또는 공간 단위당 발생하는 사건의 수를 푸아송 분포로 모델링할 수 있다.
  • 또한 한 사건과 다음 사건 간의 시간/거리를 지수분포로 모델링할 수 있다.
  • 시간에 따라 변화하는 사건 발생률(예를 들어 증가하는 고장률)은 베이불 분포로 모델링할 수 있다.
profile
문제를해결하는도구로서의"데이터"

0개의 댓글