기본적인 분석
저번시간에는 기초적인 알고리즘 개념과 알고리즘 평가하는 기준에 대해 알아봤는데요
만약에 못보셨다면 여기 들어가서 한번 글읽어보시는걸 추천드려요~!
이번 챕터에는 시간복잡도 분석, 선형 시간 알고리즘, 선형 이하 알고리즘, 이진 탐색 알고리즘에 대해 알아보겠습니다.
알고리즘의 시간 복잡도
- 우선 제일 기본적인 개념으로는 말그대로 알고리즘의 프로그램에 의해 컴파일 되었을때 걸린 시간이라고 할수 있습니다.
- 알고리즘의 시간복잡도인 알고리즘의 속도를 비교하기 위해 가장 직관적인 방법은 각각 프로그램으로 구현한뒤 같은 입력으로 두 프로그램의 수행 시간을 측정한는 방법이 있습니다.
- 근데 위 방법으로 구한 프로그램 수행시간이 알고리즘의 속도의 기준이 되기에는 매우 부적합하다. 그 이유를 아래에 말씀 드리겠습니다.
- 가장 큰이유로 4가지가 있는데 그 이유로는 사용한 언어( 이거는 전 포스팅에서도 말씀 드렸어요 ㅎㅎ), 하드웨어, 운영체제, 컴파일러까지 수많은 요소로 인해 알고리즘 컴파일 시간은 많이 바뀔수 있습니다.
- 두번째 이유로는 어떤 문자열을 구현했는지에 따라 기본적인 분석 기본적인 분석 바뀔수 있습니다. 어떤 문자열을 구현했고 어떻게 넘겨줬는지, 예를 들어 배열, 문자열같이 어떻게 문자열을 구현했는지 같은 경우가 있습니다. 위에서 본것처럼 사소한 문제에 따라 최종 수행 시간은 크게 달라 질수 있습니다.
- 세번째 이유로는 실제 수행시간이 다양한 입력, 입력 크기에따라 실행시간이 변한다는것인데요, 이말은 즉 입력을 어떻게 했는지에 따라서 실행시간이 변한다는것 입니다.
그러면 수행시간을 어떤 기준으로 측정을 해야겠는지 의문이 생기시죠? 이제 한번 알아보겠습니다.
- 알고리즘에서 수행시간을 지배하는것은 반복문이다. 반복문의 예로는(for문, while문, do~while문이 있습니다.)
- 그렇지만 반복문이 모든 알고리즘을 지배한는 것은 아닙니다. 입력의 크기가 작을때는 즉 반복문이 조금 돌때는 반복문보다 다른부분에서 수행시간을 갖는 비중이 크겠지만, 입력의 크기가 커지면 커질수록, 반복문 알고리즘이 수행시간을 지배합니다.
- 따라서 입력의 크기가 거질수록 알고리즘의 수행시간은 배열의 크기 N에 따라 변한다고 생각하면 됩니다.
- N번 수행되는 반복문이 두개 겹치면 즉, 아래 예시처럼 for문이 두개가 겹치는 이중포문이 발생하고 안에 for문과 밖에 for문이 N번 만큼 실행되면 알고리즘 수행 시간이 N^2이 되는것을 볼수 있습니다.
- 그렇지만 2중 포문이 있다고 다 N^2이 되는것은 아닙니다. 다른 예를 기본적인 분석 살펴보겠습니다.
- 위같은 예제의 포문을 보면 한개는 N번 수행이 되고 다른 한개는 100번 수행이 되는것을 볼수 있습니다. 따라서 위 코드의 수행 횟수는 N+100이 되는것을 볼수있는데 이것은 N이 커질수록 100번 수행되는 반복문이 차지하는 비중은 줄어드는것을 볼수 있다.
따라서 위 코드의 알고리즘의 수행시간은 N이라고 할수 있습니다.
(이 내용은 추후 좀더 자세히 다루어보도록 기본적인 분석 하겠습니다. 만약 업데이트 하면은 여기다가 링크 걸어 놓겠습니다 :) )
선형 시간 알고리즘
- 선형 시간 알고리즘에 들어가기 전에 쉽게 접근하기 위해 하나만 알아두면은 편합니다. 바로 입력 N이 두배 커지면 실행시간도 두배 길어지는 것을 말한다. 즉 입력과 실행시간은 정비례한다고 생각하시면됩니다.
- 위 내용을 보시면 선형시간 알고리즘을 왜쓰지? 라고 생각을 하실수 있지만 만약 입력이 작은 알고리즘은 다른 알고리즘보다 빠르게 해결할수 있다는것을 알수 있습니다.
y=n 함수
선형 시간 이하 알고리즘
- 선형 시간 이하 알고리즘이란 예를 들어서 A라는 남자 아이돌이 코를 성형했다고 치고 만약 이 아이돌의 코 성형 하기 전 날짜가 궁금해서 검색을 해 60만장 정도 되는 코성형 한 날짜 찾는다고 한다면 우리는 사진을 찾을때 하나하나 들어가서 모든 날짜를 들어가 볼 필요가 없다.
어떻게 하는게 효율적인지 한번 생각해 보고 아래 글을 보시는걸 추천드려요!
- 우선 정답은 중간쯤 날짜를 보고 그 사진이 성형을 했는지 않했는지 확인을 하고 만약 했으면 중간날짜부터 앞날짜 까지의 반을 만약 성형이 되있으면 중간부터 끝 날짜의 중간을 기점으로 체크를 해보는 식으로 1이 될때까지 나눠서 찾으면 된다. 즉 이런 방법을 선형 시간 이하 알고리즘이라고 합니다.
- 즉 간단히 설명하면 N이라는 경우를 계속 절반으로 나눠서 1이하가 될때 까지 몇번이나 나눠야 하는지 알수 있는데 바로 이렇게 나타내는 함수가 바로 로그입니다.
- 매번 절반씩 나누니깐 밑이 2인 로그 log2(밑이 2인 로그)를 사용하면 됩니다.
- 앞으로 우리는 log2(밑이 2인 로그)를lgN이라고 하겠습니다.
- 간략히 말하자면 Log함수는 굉장히 느리게 증가하는 함수입니다.
- 굉장히 느리게 증가하기 때문에 입력크기가 클때 장점이고 입력크기가 작을때는 선형 시간 알고리즘보다 오래걸린다는게 단점이라고 할수있다.
- 위 내용 때문에 선형 시간 이하 알고리즘은 입력의 크기가 커지는것보다 수행시간이 느리게 증가하는 알고리즘을 뜻합니다.
로그 함수
-위 그래프를 보면 x는 입력값이고 y는 실행 시간이라고 볼수 있습니다.
이진 탐색
- 이진 탐색은 이진 검색 알고리즘이라고 하는데 처음에 임의의 값으로 중간의 값을 선택하여 크고 작음을 비교하여 정렬하는 방식을 말한다.
- 따라서 이진탐색은 위에서 말한 선형 시간 이하 알고리즘하고 같은 것으로 위에서 선형시간 이하 알고리즘은 이진탐색이라고 부릅니다.
- 이진 탐색은 잘알아 두는게 좋다, 왜냐하면 유용하게 쓰이기 때문입니다.
지금까지 간단한 알고리즘하고, 시간 복잡도에 대해 알아봤는데요ㅎㅎ 공부를 하면서 복잡하고 이해 안된 부분이 있는데 이런부분은 더 알아 가야될꺼 같다고 생각합니다 :)
기본적인 분석
땅사는 즐거움을 드리는 쌍둥이 딸바보, 별하람아빠입니다. 기본적인 분석
우리나라 부자들의 90% 이상은 부동산 투자를 통하여 부자가 되었다고 합니다.
여러분들도 부자가 되고 싶나요?
부자가 되고 싶다면 투자는 기본입니다. 하지만 투자에는 기본적으로 위험이 뒤 따를 수밖에 없는 현실입니다. 투자에 대한 위험을 줄일 수 있는 방법, 투자에 대한 분석이 필수입니다.
오늘은 토지투자를 생각하고 계시다면 기본적으로 필요한 권리분석 3조건에 대해 알아보도록 하겠습니다.
소액으로 토지투자를 하든, 큰 금액으로 토지투자를 하든 권리분석은 기본입니다.
특히 토지투자를 처음 하시는 분들이나 초보자에게는 권리분석이라는 용어 자체가 생소할 수 있겠지만, 알고 보면 그리 어려운 것도 아닙니다.
부동산 투자를 권유하는 분들께서 기본적인 권리분석 정보를 제공하기도 하지만, 돈이 투입되는 투자시장에는 항상 나쁜 사람들이 존재 하기 마련이기 때문에 개인 스스로의 기본적인 분석능력을 갖추는 것도 중요합니다.
특히 토지시장에서는 자칫 나쁜 기획부동산을 만날 수도 있습니다.
그렇기 때문에 어느 정도 토지 권리분석 능력을 키우는 것도 정말 좋을 것 같습니다.
토지투자 권리분석이란?
내가 토지를 매입하여 권리를 취득하는 절차에 있어서 그 토지투자에 하자가 있는지를 기본적으로 살펴보고, 투자할 만한 가치가 충분히 있는가를 분석하는 과정 등이 모두 포함된다고 볼 수 기본적인 분석 있습니다.
토지를 매입하는 목적은 크게 세 가지입니다.
① 그 토지를 사용(건축, 경작 등)을 하기 위함인 것인가?
② 순수한 투자의 목적인가? 또는 사용하다가 차익을 보고 처분할 것인가?
③ 사용하다가 차익을 실현하기 위해 처분할 것인가?
토지권리분석은 주로 투자를 위한 개념으로 많이 활용되는데, 가장 중요한 것은 돈이 될만한 땅에 투자를 하는 것인가가 가장 중요한 기준이 될 것입니다.
돈이 될 만한 땅의 3가지 조건!
①인구가 늘어나는 지역에 투자하라
토지투자를 할 지역인가 아닌가는 일단은 단순하게 생각하면 됩니다.기본적인 분석
땅값이 오를 수 있는 지역, 장사가 잘 되는 지역, 생산활동이 왕성하게 일어나는 지역, 그러기 위해서는 교통망이 확충되는 지역 등등.
결론은 인구가 늘어나는 지역인가가 제일 중요합니다.
수요와 공급의 법칙은 가장 기본적인 경제법칙 중의 하나입니다.
토지투자도 마찬가지로 수요와 공급의 법칙에 철저히 적용되고 있습니다.
토지는 한정된 면적(공급)이고, 그 면적을 사용할 사람(수요)들이 많다면 토지가격은 당연히 상승하겠지요.
토지를 사용하는 목적은 산업단지, 주거단지, 상업시설, 체육시설 등 다양합니다. 이렇게 사용할 목적이 많다는 것은 그만큼 인구의 유입이 지속적으로 증가한다는 뜻입니다.
돈이 되는 땅은 사람들의 필요로 인해 수요가 계속적으로 발생하는 땅입니다.
지방 시골의 반듯한 대지보다 개발수요가 많은 수도권 일대의 그린벨트 임야가 훨씬 비싼 이유도 마찬가지입니다.
② 땅값을 움직이는 것은 돈이다
매년 정부가 우리나라 땅에 쏟아붓고 있는 돈, 바로 SOC 사업입니다.
정부가 SOC 사업을 하려는 지역에 당연히 부동산 투자자들이 몰립니다. 신규 도로, 철도, 항만, 공항, 고속도로 IC 등 정부에서는 매년 수십조 원의 나라 예산을 땅에 쏟아붓고 있습니다.
당연히 이러한 곳이 개발 이슈가 많은 곳입니다. SOC사업이 지속적으로 진행되고 있는 곳이 미래의 기본적인 분석 성장 가능성이 풍부함 곳입니다. 바로 이러한 곳에 투자를 해야겠지요.
사람들의 소비를 일으키는 돈이 몰리는 곳이 장사가 잘되는 곳이고, 임대가 잘되는 곳이고, 결국은 사람이 몰리는 곳입니다. 공실도 없고 빈 상가도 없습니다. 그야말로 돈을 버는 시장이 되고 있는 곳입니다.
③ 정부가 정책적으로 밀어주는 곳에 투자하라
인구가 지속적을 증가하는 지역이라 하더라도 정부가 정책적으로 미는 곳이 아니라면 언젠가는 정체 또는 리스크가 발생할 수 있습니다.
그렇다면 정부가 정책적으로 미는 지역을 토지가격이 상승하기 전에 어떻게 알 수 있을까요?
그래서 정보가 중요합니다. 경제뉴스나 정부정책에 대해 관심을 가져야 하는 것이죠.
하지만 이러한 뉴스를 접한다고 해서 일반인이 숨어 있는 고급 정보를 분석해 내는 것은 쉽지 않습니다.
그래서 좋은 정보를 취득할 수 있는 믿을만한 정보소통 창구를 하나 정도는 가지고 있는 것이 중요합니다.
예를 들어 세종시에 미리 땅을 사둔 사람은 대박을 쳤지만, 토지투자에 관심은 있지만, 그러한 정보를 몰랐거나, 들었어도 기본적인 분석 믿지를 않았다면 투자를 할 수가 없었겠지요.
기본적인 분석
먼저, Ensemble이란 "조화"를 뜻하는 의미의 프랑스어이다. Ensemble모형에 대해서 말하기 전에 우리는 실생활에서 의사결정을 진행할 때, 다양한 사람들의 기본적인 분석 의견을 수렴한다. 그리고 이 과정에서는 "대수의 법칙"이 적용된다. "대수의 법칙"이란 큰 모집단에서 무작위로 뽑은 표본의 평균이 전체 모집단의 평균과 가까울 가능성이 높다는 통계학 개념이다. 즉, 많은 사람들의 의견이 전체 사회구성원의 의견과 동일하다는 것이다. Ensemble learning은 이 기본적인 아이디어에 기반한다.
Ensemble learning이라함은 여러개의 기본 모델을 활용하여 하나의 새로운 모델로 만들어낸다는 것이다. 이때의 기본모델(base model)을 weak learner / classifier / base learner / single learner라고 부른다. 이 base model들을 결합하여, 각각의 기본적인 모델의 결과를 합쳐서(투표해서, 평균내서) 한 가지의 결과를 만들어내는 것이 바로 Ensemble model인 것이다. 그리고 기본적인 모델들을 결합하여 전체 모델의 성능향상을 목표로한다.
아래 그림은 Ensemble model중 한 모형이다. ensemble은 bagging(bootstrap) / boosting / Randomforerst / stacking 등등 많은 기법이 있다. 기본 모형들을 결합하여 학습하는 것 자체가 ensemble이기 때문이다.
https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg
2. Ensemble learning의 기본
이진분류 문제를 가정해보자. 맞출 확률이 p인 L개의 classifier model이 있다고 가정해보자. 그렇다면 ensemble의 경우는 아래와 같아진다.
만약 정답 확률이 1/2 이하일 경우(정확도가 떨어질 경우), L(classifier 개수)가 증가하면 할 수록 이항분포의 기대값은 낮아진다(예측 정확도가 떨어진다). 반면, 맞출확률이 1/2이상이면 L이 증가할 수록 이항분포의 기대값은 증가한다(예측 정확도가 올라간다).
=> 즉, 앙상블에 쓰일 base learner의 정확도는 적어도 0.5보다는 커야한다는 뜻이다.
앞의 수식은 두 X + Y의 분산관계를 뜻한다. 여기서 만약 X와 Y가 독립이 아니라면 공분산이 발생한다. 만약 변수간의 상관관계가 명확해진다면, 공분산은 크게 발생한다. 이 변수를 앙상블에 쓰일 classifier 그 자체라고 생각하자. 만약 각각의 classifier가 독립이 아니라면 Tree가 증가하면 할 수록 ensemble model의 분산이 증가할 가능성이 발생한다. 이는 모델 성능을 하락시키는 결과를 불러올 수 있다는 것이다.
=> 앙상블에 쓰일 각각의 base learner는 독립이다.
원칙 3)
마지막으로, 3번째 원칙은 앙상블에 속하는 base learner의 수는 이론적으로 무한대이다는 것이다. 하지만, 무한대의 모델을 학습시키는 것은 사실상 불가능하기에, 통계학적으로 표본은 30개정도면 충분한 표본이 있다고 판단한다.
그렇다면, 과연 이러한 원칙을 만족시켰을 때, Ensemble model이 진짜 성능향상을 일으키는지 아래 그림을 통해 알아보자.
위의 그림을 보면 각각의 base learner (Learner1, Learner2, Learner3)는 0.5의 정확도(최소 정확도)를 가졌다. 그리고 이 base learner의 결과에서 다수로 나온 결과를 voting(투표)했을 때, 정확도는 0.기본적인 분석 625로 상승했다. 정말로 정확도가 상승하였다. 앙상블은 각각 base leaner의 결과를 결합하여 더 좋은 성능을 내는 Machine Learning 기법인 것이다.
위의 경우를 보았을 때 처럼, 앙상블은 최소 정확도 그 이상은 되어야한다. 그렇기에 기본적으로 Overfitting이 잘 되는 모델을 base learner로 사용한다. 그리고 대표적인 base learner는 Decision Tree를 이용하는 경우가 많다. 가장 많이 쓰이는 Ensemble learning 기법인 Random Forest와 Boosting은 바로 Tree기반 모델이다.
하지만 Ensemble은 말했듯이, 여러모델의 조합을 뜻하기에 Tree가 아닌 다른 모델들을 사용해도 무방하다. 다음은 Ensemble의 종류에 대해서 말해보자.
3. Ensemble learning의 종류
Ensemble의 대표적인 종류로는 Bagging / Random Forest / Boosting / Stacking이 존재한다. Bagging / Random Forest / Boosting은 Tree기반의 단일 모델로 패키지함수로 제공되지만 Stacking은 Ensemble의 한 개념으로 구현을 통해 진행할 수 있다.
각각의 모델의 간략한 설명은 아래와 같다.
Bagging - 모델을 다양하게 만들기 위해 데이터를 재구성한다. 이때, 동일 데이터를 반복복원추출을 통해 다양한 데이터셋을 만들고, 이 다양한 데이터셋을 각각 학습시켜서 voting(or 평균)을 통해 결과를 도출하는 것이다.
Random Forest - 모델을 다양하게 만들기 위해 데이터를 재구성하고, 거기에 변수 또한 재구성하는 것이다. 즉, Bagging처럼 데이터를 반복 복원추출을 진행하지만, 거기에 변수의 조합 또한 랜덤추출을 진행하는 것이다. 즉, Bagging은 동일한 모든 변수를 사용했다면, Random Forest는 특정 변수만 사용하는 Base Learner가 형성될 수도 있다.
Boosting - 맞추기 어려운 데이터에 가중치를 두어 학습을 하는 것이다. 즉, 정확도가 낮은 틀리는 데이터를 집중적으로 학습하는 것이다. Boosting의 종류로는 Adaboost, Gradient boosting(Xgboost, LightGBM, Catboost) 등이 있다.
Stacking - 모델의 Output을 새로운 독립변수로 하여 다른 learning모델의 Input으로 넣는 것이다.
다음 링크를 통해서 Bagging/Random Forest/Boosting/Stacking의 상세한 내용을 다루겠다.
[Data Analysis 개념] Ensemble(앙상블)-2 : Bagging, RandomForest
앙상블에 대한 종류와 전반적인 설명은 아래 링크에 존재한다. 이 게시글에서는 앙상블 모형중 Bagging과 RandomForest에 대해서 알아보겠다. https://todayisbetterthanyesterday.tistory.com/47 [Data Analysi..
[Data Analysis 개념] Ensemble(앙상블)-3 : Boosting(Adaboost, Gradient Boosting)
1. Boosting boosting은 오분류된 데이터에 집중해 더 많은 가중치를 주는 ensemble 기법이다. 맨 처음 learner에서는 모든 데이터가 동일한 가중치를 갖는다. 하지만, 각 라운드가 종료될 때마다, 가중치
Hongwon's DATA
매출 데이터를 급하게 분석해 달라는 요구에 신속하게 대응하기 위해서는 기준점이 되는 매출 지표를 알고 있어야 한다. 이번 글에서는 기본적인 매출 지표엔 어떤 것이 있는지 모르는 학생들과, 신속하게 매출 분석을 해야 하는 분석가들을 위해 매출 분석의 기준이 되는 매출 지표를 알아보고, 그것을 SQL 문으로 작성하는 방법을 알아보겠다.
캐글-Superstore Sales Dataset을 정제한 데이터 셋입니다.
샘플 데이터 예시
- 데이터 세트 : ch4
- 테이블 명 : sale_data
- Date(date) : 주문 일자
- Order_id(string) : 주문 ID
- Customer_id(string) : 고객 ID
- Product_id(string) : 상품 ID
- Sale(integer) : 가격
전체 쿼리 먼저 보기
전체 쿼리
전체 쿼리를 색깔별로 구분한 박스들의 SQL 문을 하나씩 해석해보며 전체 쿼리를 이해해 보겠다.
1. 하늘색 기본적인 분석 박스 - WITH 절
WITH 절이란 임시 테이블을 만드는 SQL 구문이다. 분석을 하다 보면 '기존 테이블을 변형시켜서 새로운 테이블을 만들면 , 더 다양한 분석을 할 수 있을지도 몰라'라는 생각이 드는 경우가 있다. 하지만, 테이블 생성 권한이 없을 경우 그러한 아이디어를 포기하게 되는데, 그때 WITH 절을 통해 임시로 테이블을 만들 수 있다.
WITH 절은 작성한 쿼리문 내에서만 실행되는 것이 특징이다. 가독성이 높고 보수하기 쉬운 코드를 만들기 위해서는 with 절을 적극 활용해야 한다.
WITH 임시 테이블명 AS ( )
2. 빨간색 박스 - 일별 매출을 나타내는 임시 테이블(daily_purchase2)
기존 테이블이었던 sale_data의 열을 활용하여, 일별 매출을 나타내는 daily_purchase2라는 새로운 임시 테이블을 만들었다. 쿼리 해석 및 쿼리 결과는 다음과 같다.
빨간색 박스 쿼리 해석 및 daily_purchase2 임시테이블의 결과
연도, 월, 일을 구하기 위해서 기존 DATE 열의 DATE 스키마를 CAST 함수를 사용해 STRING 스키마로 변경 후 SUBSTR 함수를 사용해 문자열 자르기.
(DATE 스키마에서는 EXTRACT(YEAR FROM 열 이름) 함수를 사용하여 연도를 바로 뽑아낼 수 도 있다.(month, date 도 적용 가능))
3. 주황색 박스 - 월별 매출지표를 나타내는 임시 테이블(monthly_purchase2)
monthly_purchase2 임시테이블 쿼리 해석 monthly_purchase2 임시테이블의 결과
with 절로 만든 임시 테이블은 한 쿼리 내에서 임시로 만들어지는 테이블이기 때문에, 주황색 박스의 결과를 보기 위해서는 빨간색 박스가 반드시 전제되어야 한다.
월별 매출 분석 지표에는 월별 주문 개수, 월별 매출 평균, 월별 매출 총합이 있다는 것을 알아두자.
4. 검은색 박스 - 최종 매출 지표
전제되어야 하는 하늘색 박스는 생략하였다. with 절로 만든 임시 테이블을 이용해 최종 매출 지표를 구성해보았다.
검정색 박스 쿼리 해석
매출지표 : 월별 주문 개수, 월별 매출 평균, 월별 매출 총합, 연도별 매출 누적합, 작년 월별 매출액, 현재 월-작년 월 증감률
연도별 매출 누적합에서 over(. ROWS UNBOUNDED PRECENDING) 은 처음 소개를 하므로 간략하게 설명하겠다.
ROW 함수 : 부분집합인 윈도 크기를 물리적인 기본적인 분석 단위로 행 집합을 지정
UNBOUNDED PRECEDING : 윈도의 시작 위치가 첫 번째 ROW
최종 도출 결과
이번 글에서는 판매 데이터를 이용해 기본적인(하지만 매우 중요한) 매출 지표들을 sql문을 사용해 구현 해보았다.
매출 지표의 기준이 되는 내용들이니 만큼, 이 지표에서 확장하여 더 좋은 매출 지표들을 만들어 낼 수 있을 것이다.
DIBRARY
모집단에서 랜덤하게 한 개의 수를 뽑은 값을 y라고 하자. p(y)는 y의 확률분포를 의미한다.
우리가 흔히 들어봤던 말들이다. 성적 분포를 계산할 때도, 평균과 분산 등을 활용하는 예시를 생각할 수 있다.
추가적으로, 관심 모집단의 히스토그램, 평균과 분산 등 특징을 추측하는 것을 추론(inference)이라고 한다.
하지만 기본적으로 우리는 위와 같은 정보들을 모른다.
그래서, 표본을 통하여 기본적인 분석 대신 추정하여 사용한다.
모평균은 표본평균으로, 모분산은 표본분산을 통해 추정하여 사용하는 것처럼, 우리는 이런 표본 통계량을 대신 사용하여 모집단의 정보를 요약한다.
통계량이란?
미지의 모수를 포함하지 않는 함수를 말한다.
미지의 모수가 포함되어 있다.
표본을 통한 모집단의 정보 요약
모집단의 모수들을 모르기 때문에 표본을 통해 추정하여 사용한다고 했다.
대표적으로 사용되는 것들이 다음과 같다.
자유도는 우선 신경쓰지 말자.
근데, 여기서 궁금한 점이 생길 수 있다.
왜 표본분산은 n이 아닌 n-1로 나눠서 구하는 걸까? n으로 나눠서 구하면 틀린걸까?
틀렸다기보다는 정밀도의 차이라고 보면 될 것 같다.
사람 몸무게를 재는 저울이 소수점 15자리까지 정확하게 잴 필요는 없다. 하지만 금의 무게를 잰다면 상당한 정밀도의 저울이 필요할 것이다.
이런 차이 정도라고 볼 수 있긴 하지만, n으로 나눠서 분산을 구하면 어떻게 되느냐?
과소추정할 위험이 있다.
그렇다면, 한 모수를 추정할 수 있는 추정량들이 여러 개가 존재할 수도 있다는 이야기가 되는데 그 중 어떤 것을 골라서 사용해야 할까? 어떤 게 좋을까?
좋은 추정량의 조건
1. 비편향 추정량이어야 한다.
해당 추정량의 기댓값을 취했을 때, 모수가 나오는 걸 말한다.
표본평균의 평균을 모평균의 추정량으로 가장 많이 사용하는 이유가 바로 비편향추정량이기 때문이다.
표본평균의 평균이 비편향추정량인 이유
2. 분산이 작은 추정량이어야 한다.
추정량은 모수와 다르게 값이 항상 변한다. (통계적 관계의 함수이기 때문)
그런데, 추정량을 구할 때마다 변화폭이 너무 크다면?
예를 들어, 저울을 사용하려고 하는데 55KG도 나오고, 100KG도 나오고, 300KG도 나오고 한다면 그 저울은 별로 못미더운 저울일 것이다.
그렇기 때문에 추정량은 분산이 작은 게 좋다.
표본평균의 분산
0 개 댓글