□ Trend, Seasonal, Cyclic

  Trend : 전반적으로 감소하거나, 증가하는 경향(changing direction)

  Seasonal : 일정하고 알려진 주기성

  Cyclic : 일정하지 않은 변동(ex. business cycle)


□ 비교군으로서의 some simple forecasting methods

  1. Average method : 기간의 평균으로 예측값

  2. Naive method : 마지막 값으로 예측값

  3. Seasonal naive method : 가장 최근의 주기에 해당하는 예측값

  4. Drift method : 마지막 값 + 트렌드


□ Transformations and adjustments

  - 목적 : 알려진 변동을 제거함으로서 패턴을 단순화, 더욱 일관성있는 패턴 생성

             → 패턴의 단순화는 더 정교한 예측을 이끈다.

    1. Calendar adjustments : 월들 간 보유한 날짜 수의 차이로 발생하는 변동(variation)

                                      → 월별 예측시 영입일수를 보정한 예측을 하는 것이 적절할 수 있음

    2. Population adjustments :  모집단의 수가 지속적으로 변할 때, 인당 예측을 활용 가능

                                      → 이용가능고객수의 변화가 콜수에 영향을 미치는 양을 고려할 수 있을 것

    3. Inflation adjustments : 돈에 영향을 받는 데이터라면 인플레이션에 대한 보정이 필요하다.


    4. Mathematical transformations : log, power, box-cox

                                                 → transformation이 예측값 자체에는 큰 변화를 주지 못하더라도, 

                                                     prediction interval에 큰 영향을 주는 경우가 있으니 참고.


    5. Bias adjustments : 기존에 back-transformation에서 median 대신에 mean을 사용 ?

                                → Box-Cox transformation에 대해 자세히 학습할 필요가 있을 듯?


□ Residual diagnostics

  1) 독립성 : 잔차 간의 상관관계가 존재한다면, 이용했어야할 정보가 아직 잔차에 남아있다.(해결이 쉽진 않음)

  2) 잔차의 합이 0이 아니다 → 그 만큼 예측값에 bias가 존재할 것이다.

                                     → 간단히 예측모델에 그 만큼을 더하면 bias를 처리할 수 있다.

  3) 등분산성, 정규분포 : prediction intervals의 계산을 쉽게 만들어준다.


  - 잔차의 특성을 확인하는 것은 이용가능한 정보를 모두 사용하고 있는가에 대한 점검 방법으로 가치가 있다.

    → 단, 예측 기법을 선택하는 좋은 방법은 아니다.


  - Autocorrelation 측정 방법 (portmanteau test)

    (1) Box-Pierce test

    (2) Ljung-Box test

    → 둘다 통계량은 white noise와 autocorrelation을 구분할 수 없다는 가정하에 카이제곱 분포를 따름

        이 차이가 클 수록 autocorrelation이 존재한다고 볼 수 있음.


□ Evaluating forecast accuracy

  - test set의 size는 보통 total sample의 20% 수준으로 정한다.

  - 완벽한 적합은 충분한 파라미터를 사용하면 언제나 얻어질 수 있다.



□ Prediction Interval
  - 예측의 신뢰성을 대변하기 위해 점 뿐만아니라 구간추정또한 제공한다.
    이를 구하기 위해 표준편차의 추정값이 필요한데,
    One step 의 경우 residuals의 표준편차는 좋은 추정치를 제공한다.
    Multi step의 경우 그렇게 간단하지 않다. 보통 잔차들이 uncorrelated 임을 가정한채로 구해진다.

  - 붓스트랩을 사용해 prediction interval을 정교화할 수 있다.

□ Judgement forecast
  1. 사용가능한 데이터가 없을 때
  2. 통계적 예측의 추가 보완


□ Regression in TS

  1. Autocorrelation : TS 데이터에선 보통 존재한다.

                            존재하는 경우 unbiased는 유지되지만, prediction interval을 과대추정하는 경향 있음

     1) ACF plot of the residuals

     2) Breusch-Godfrey test(Lagrange Multiplier) : small p-value → significant autocorrelation

        →  ACF plot으로 가장 자기상관이 존재할 것 같은 lag를 찾고, BG test 수행

             Chap.9 에서 잔차에 남아있는 정보를 더 잘 포착하는 방법에 대해 고민할 예정


  2. Residual vs predictor

     : 잔차는 어떠한 패턴을 보이지 않고 랜덤하게 퍼져있을 것이다.

       간단히 확인할 수 있는 방법은 predictors와 residuals를 비교하는 것이다.

       이 때, 모형에 포함하지 않은 변수에 대해서도 확인할 필요가 있고, 이들이 관계를 보이면(비선형이더라도) 모형에 추가 및 수정할 필요가 있음.

 

  3. Residual vs fitted values

     : 관계가 보이면 등분산 가정을 만족하지 않을 가능성이 높음

       log 등으로 transformation 고려


  4. Outliers and influential observations


□ Some useful predictors

  1. Trend : 시간을 변수로 추가하면, 쉽게 trend의 계수를 추정할 수 있다.

     - tslm( ) 함수에서 trend 를 이용해 구현 가능 

  2. dummy variable : outlier를 special event 변수로 두고 모델링 할 수 있다.

  3. Seasonal dummy variables 

  4. Intervention(개입) variables : 경쟁사 활동, 광고, 산업 내 이벤트 등

     - spike variable : 이벤트 기간 동안만 1의 값을 갖는 더미변수

     - step variable : 이벤트 개입으로 영구적인 변화가 생겼을 경우, 이벤트 발생 이전/이후로 더미 코딩

     - change of slope : 나중에 다룸

  5. Trading days : 월별 영업일이 다를 수 있다.

     1) 월별 영업일수를 예측변수에 추가

     2) 7개의 변수를 사용해 해당 월이 각 요일별로 포함한 일수를 예측변수에 추가

  6. Distributed lags : 광고비용을 포함

                            단, 광고효과는 나중에 나타나므로 월별로 나누어서 변수를 지정

                              ex) x1 : 한달 전 광고, x2 : 두달전 광고  ...

                            lag가 증가할 수록 계수는 감소할 것을 기대한다.

  7. Easter(부활절) : 날짜 말고 요일로 지정되는 휴일 고려

                          기간을 잘 찾아서, 기간동안 더미화

  8. Fourier Series : long seasonal period에 사용

                         파형에서 데이터를 끌어내는 방법?


□ Selecting variables

  1. 산점도, multiple linear regression의 결과로 계수의 p-value만 보고 일부 변수를 선정하는 것은 추천하지 않음.

  2. 대신, predictive accuracy에 대한 측정을 활용 : cv( )으로 계산됨

               - CV, AIC, AICc, BIC, AdjR2

    1) AdjR2 : 너무 많은 변수를 선택하는 경향이 있고, 예측엔 적절하지 않은 듯

    2) BIC : 트루 모델이 존재하면, 가장 가깝게 예측하는 경향이 있으나 실제론 그렇지 않음

    3) AICc, AIC, CV를 추천함 : 관측값의 수가 커질 수록 세 값은 같은 결론을 지지함

       - AICc : AIC는 관측값의 수가 적을 때, 너무 많은 변수를 선택하는 경향이 있어 Bias를 보정한 기준치

  3. Best subset regression

  4. Stepwise regression

  → 이 방법들은 각 변수가 예측값에 미치는 영향을 확인하기엔 좋지 않음.

      단지 예측을 위한 것일 뿐임에 유의


□ Forecasting with regression

  1. Ex-ante vs Ex-post

     - EX-ante : 미리 이용가능한 정보만 사용하여 예측 / 실제 예측 활용 가능

     - EX-post : 나중에 이용할 정보로 예측 / 실제 예측엔 활용 불가(변수에 대한 이해를 위함)

     → 이 둘의 비교를 통해 예측력이 변수 선택 때문인지, 모형 때문인지 알 수 있다.

         Ex-post에 의해 사용 불가해 보이지만, 추가로 예측하는 scenario에 기반하여 변수로 사용할 수 도 있음(가정 추가)

         시나리오 기반 예측은 다른 변수 또한 예측해야한다는 단점이 존재

         → h-step ahead forecast로 Ex-ante(미리 이용가능한 정보에 의한 예측)으로 미래 시점 예측 가능

             이 과정에서 정책 변화로 인해 드러나는 효과 등이 직관적으로 드러날 수 있다.

How to Reduce Variance in a Final Machine Learning Model

by  on August 13, 2018 in Machine Learning Process

(https://machinelearningmastery.com/how-to-reduce-model-variance/)




최종 모형은 예측에 있어서 variance에 의해 고통받는다.

실무 환경에서는 더욱 그러한 경우가 많다.


□ 포스트의 목적

  1) 최종으로 만들어진 모형 예측에서 variance 문제 이해

  2) 모형의 variance 측정 방법과 일반적으로 파라미터 추정시 var가 어떻게 다루어지는 방식 이해

  3) 최종 모형의 예측에서 var를 줄일 수 있는 기술


□ Final model : 머신러닝 프로젝트의 산출물


□ Bias and Variance

  - Bias : 학습할 수 있는 범위를 좁히는 가정

            현실과 가정이 다른 경우를 cost로 하여, 학습을 빠르고 안정적으로 만듬

  - Variance : 데이터 특성에 대한 학습의 민감도(sensitivity)

                  모형을 데이터에 특수화(specialized) 할 때 유용

                  random noise 또는 다른 데이터에서 교육받을 때 마다 달라지는 것을 cost로 함


□ The Problem of Variance in Final Models


□ Measure Variance in the Final Model

  - common sources of variance in a final model

    1) The noise in the training data

    2) 머신러닝 알고리즘에서 randomness의 이용


  - training data를 활용하여 두 타입의 var 측정 가능

    1) Measure Algorithm Variance : 알고리즘의 확률적 성격(stochastic nature)에 의해 유도된 var

                                               동일한 training set에서 평가를 반복하며 측정 가능

    2) Measure Training Data Variance : training data에 의해 유도된 var  

                                                   training set의 다른 샘플에 대한 평가를 반복하며 측정 가능

    → combined variance : k-fold CV


□ Reduce Variance of an Estimate

  - variance를 줄이고 싶다면, bias를 더해야 한다.

    random sample에서 평균을 추정하는 것과 같은 모집단의 모수를 추정하는 단순한 통계적 추정에 대해 생각해보자.

    평균에 대한 하나의 추정은 high variance and low bias를 가질 것이다.

    만약 우리가 이 과정을 30번 반복하고 추정된 평균값들의 표준편차를 계산한다면 우리는 large spread를 볼 수 있기 때문에 이는 직관적이다.


    분산을 줄이는 해결책 또한 직관적이다.

    CLT에 의거하여 많은 다른 샘플들에 대한 추정을 반복하고 추정치의 평균을 계산해보자.

    추정된 평균들의 평균은 lower variance를 가진다.

    추정된 값들의 평균이 단일 추정에 비해 더욱 정확할 것이라는 가정에 의해 bias를 증가시켰다.

    다른 접근은 대수의 법칙에 의거하여 모평균을 추정하고자 하는 data sample의 사이즈를 극적으로 키우는 것을 고려할 수 있다.


□ Reduce Variance of a Final Model

  - 위의 모수의 variance를 줄이는데 사용되는 원칙은 final model의 variance를 줄이고자 하는데 또한 사용될 수 있다.

    우리는 Bias를 추가해야한다.


□ Fragile Thinking

  - 단점을 제한하고 최고의 평균성과를 목표로하는 것이 더 안전하다.

    



'분석 > 통계' 카테고리의 다른 글

Time Series study2  (0) 2019.03.11
Time Series study  (0) 2019.03.09
추세선의 증가하는 정도를 아는 방법 : 선형회귀분석  (0) 2019.03.05
자기상관(Autocorrelation)  (0) 2019.03.02
통화수요예측을 위한 자료수집  (0) 2019.02.25


LightGBM을 설치하는데 고전하다가, 프로젝트 기간 안에 설치 및 적용이 어려울 것 같아 XGBoost로 만족하고 공부하기로 했다.


사실 XGBoost, LightGBM 등은 재작년 쯤부터 핫하게 들어왔던 키워드였으나, 캐글을 열심히 하지 않아서인지 실제로 적용해볼 기회는 없었다.


이번에 변수의 영향도, 관계보다 예측력에 목적이 있는 프로젝트를 진행하다보니 관심을 가지고 학습하기로 했다.



1. Bagging vs Boosting

  : 둘 모두 앙상블 방법.

    랜덤하게 샘플링하여 동일한 방법을 적용하는 것과 다르게

    앞 단계에서 발생하는 오차를 모델링하며, 각 단계에서의 최적 가중치를 추적


2. Boosting은 numeric한 feature만 입력해야한다. why?


https://www.kaggle.com/c/avito-demand-prediction/discussion/57094


참고




3. GBM vs XGBoost vs LightGBM

   (출처 : https://www.kaggle.com/nschneider/gbm-vs-xgboost-vs-lightgbm/notebook)


Additional Observations

GBM

Advantages:

  • None

Disadvantages:

  • No early exit
  • Slower training
  • Less accurate

xgboost

Advantages:

  • Proven success (on kaggle)
  • Now with Histogram Binning

Disadvantages:

  • Traditionally slower than lightGBM, but tree_method = 'hist' is a big improvement.
    → LightGBM을 쓰지 않아도, 충분히 속도 개선와 예측력 개선이 가능할 것으로 보인다.

lightGBM

Advantages:

  • Fast training efficiency
  • Low memory usage
  • Better accuracy
  • Parallel learning supported
  • Deal with large scale data
  • Corporate supported

Disadvantages:

  • Newer, so less community documentation




쿠폰 1장을 가져가면 n개의 사탕을 주는 가게가 있다고 하자.


첫째 날 1장을 가지고 가 2개의 사탕을 받았고,

둘째 날 2장을 가지고 가 4개의 사탕을 받았고,

셋째 날 3장을 가지고 가 6개의 사탕을 받았고,

넷째 날 4장을 가지고 가 8개의 사탕을 받았다.


다음 날 쿠폰을 10장 가져간다면 몇 개의 사탕을 받을 수 있을까?

물론 아닐수도 있지만, 대부분은 20개의 사탕을 받을 수 있을 것이라고 예상하고 이러한 추론은 어느정도 타당하다.



다음으로  이렇게 다시 가정해보자.


첫째 날 1장을 가지고 가 2개의 사탕을 받았고,

둘째 날 2장을 가지고 가 3개의 사탕을 받았고,

셋째 날 3장을 가지고 가 6개의 사탕을 받았고,

넷째 날 4장을 가지고 가 7개의 사탕을 받았다.


이럴 때면 다음 날 쿠폰을 가져갈 때 받을 수 있는 사탕의 개수를 짐작할 수 있을까?

확신할 순 없지만 어느정도 받을 수 있을거라는 감은 있을 것다.

이 또한 아닐 수 있지만, 어느정도 타당하게 여겨질 것이다.



첫번째 사례에서 쿠폰 당 2개의 사탕을 준다고 짐작했다면,

두번째 사례에선 쿠폰 당 사탕 몇 개를 주는지 어떻게 말할 수 있을까?


아래의 선에 대해 생각해보자.



우리는 네 점을 이어주는 선에 대해 고려할 수 있다.

하지만 하나의 직선으로 4개의 점을 한 번에 이을 순 없다.

그렇다면 모든 점을 다 지나진 않는 직선을 그리던가, 네점을 모두 이을수있는 곡선을 생각할 수 있다.


첫째로 곡선을 그었을 때, 쿠폰을 10장 가져가면 몇장을 받을 수 있을지 쉽게 떠올릴 수 있을까?

내 머릿 속에서 쉽게 떠오른다고 해도 다른 사람이 타당하다고 할 수 있을까?

불가능하진 않지만 너무 복잡하고, 그렇게까지 완벽하게 알고 싶진 않을 것이다.(사실 완벽하지도 않음.)


다시 모든 점을 다 지나진 않지만, 단순한 직선을 생각해보자.

이 직선을 그으면 직선의 기울기가 주어지기 때문에 한 개의 쿠폰 당 몇개의 사탕을 받을지 쉽게 짐작할 수 있다.

이렇게 직관적으로 이해하기 편하기 때문에 두 변수 간 추세(선형 증감)을 판단하는데는 선형회귀분석을 활용한다.


단순한 직선을 긋기로 했으니, 이제 이 직선을 어떻게 그어야 다른 사람(상사)이 합리적으로 받아들일 수 있을까?

  - 우리는 직선을 긋고나면 예측값으로 직선 위의 점을 선택할 것이다.

    현재 가지고 있는 값(이 경우엔 4개의 점)을 알고 있으니, 

    쿠폰의 개수가 같을 때 직선 상의 점과 실제 점 사이의 차이가 가장 작아지도록 만들면 좋을 것이다.


    수식을 적어서 보이기 번거로운 관계로, 이러한 작업을 수행하여 위의 직선을 그리는 방법이 "회귀분석"이다.

    다만 직선 상의 점과 실제 점 사이의 차이를 어떻게 정의하느냐에 따라 이 직선은 달라질 수 있다.

    (합리적으로 받아들일 수 있는 직선을 긋는 것이지, 결코 어떤 상황에서도 들어맞는 최고의 직선을 찾는 것이 아니다.)


    이 경우엔 쿠폰 한 장당 1.8개(직선의 기울기)의 사탕을 받을 수 있을거라고 생각할 수 있다.


> lm(candy~coupon,data=a)


Call:

lm(formula = candy ~ coupon, data = a)


Coefficients:

(Intercept)       coupon  

        0.0          1.8  


   

예제가 간단하여 이러한 직선이 왜 필요할지 납득하지 못할 수도 있다.

아래의 예제를 살펴보자.

온도(temp)와 자전거 렌탈 수요(count)에 대한 정보이며, 자료는 약 10,000개의 행을 가지고 있다.

아래의 그림은 10,000개 中 랜덤하게 1,000개를 뽑아 대응하는 점을 찍은 것이다.




이것을 보고 23도일 때의 자전거 수요를 바로 이야기할 수 있을까?

이런 경우에 위의 예제보다 더욱 효과적으로 회귀직선을 사용할 수 있을 것이다.

아래는 회귀직선을 그은 것이다.



> mdl <- lm(count~temp, data=train[smp,])

> mdl


Call:

lm(formula = count ~ temp, data = train[smp, ])


Coefficients:

(Intercept)         temp  

     22.783        8.333  


직선을 그을 수 있고, 1도가 올라갈 때 약 8개의 자전거 수요가 상승한다고 말할 수 있을 것이다.


이 자료의 경우 자료 자체가 가진 퍼진 정도가 크고, 자전거 수요가 낮은 경우가 많기에 눈에 보이는 것보다 직선이 낮게 잡혔다.

이 직선으로 특정 일자의 자전거 수요를 예측한다면, 잘 맞추는 것을 기대하긴 어려울 것이다.

하지만 눈으로 보기에 어지러운 자료들을 어떤 기준으로 정리하여 직선으로 나타낼 수 있다는 것에 의의가 있다.


인공지능, 딥러닝 등을 논하는 시기에 왠 선형회귀냐 하겠지만

호랑이 잡는 칼(?)로 사과를 깎을 수 없듯, 직관적으로 추세를 확인하기에 여전히 긍정적으로 활용할 여지가 있다.

(사실 선형회귀를 모르면 딥러닝 원리도 이해할 수 없다.)


=========================================================================


위의 진행은 통계 프로그램인 R로 진행되었다.

이 추세선의 정도(기울기)를 엑셀로 구하려면 어떻게 해야할까?

다행히 하나하나 계산하지 않아도 'LINEST', 'INTERCEPT' 의 두가지 함수로 선형회귀의 계수를 구할 수 있다.

※ 수식 또는 입력해야할 자료에서 y는 분석(예측)할 값, x는 분석(예측)을 위해 준비된 값을 말한다.




위에서 R로 구한 값과 왜 다르지? 라고 생각하시는 분을 위해 아래에 결과를 제시한다.

자료는 동일하지만, 위에서는 10,000개의 점을 모두 찍으면 시각적으로 보기가 싫어서 1000개만 샘플링하고 회귀직선을 만든 것이기 때문에 다르다.






이상 수식이 없어 실망하실 수 있지만, 엑셀로 회귀계수 구하는 법을 찾다가 작성한 내용이기에 양해를 구한다.

회귀 직선이 타당한지를 살피는 여러가지 기준과 방법이 있는데, 

이는 회귀직선의 계수를 어떻게 구하는 지를 이해해야 올바르게 사용이 가능하므로 여기서 다루지 않는다.

(다른 분의 블로그 들어가서 찾아봐도 많음...)

'분석 > 통계' 카테고리의 다른 글

Time Series study  (0) 2019.03.09
최종 머신러닝 모형에서 variance를 줄이는 방법  (0) 2019.03.09
자기상관(Autocorrelation)  (0) 2019.03.02
통화수요예측을 위한 자료수집  (0) 2019.02.25
통계란 무엇일까?  (0) 2019.02.24
통계학은 오차의 과학이다.

회귀문제는 가지고 있는 자료로 표현할수 있는 부분(신호)과 그렇지 못한 부분(소음, 오차)을 구분하는 좋은 방법이다.

이상적으로 표현하고 싶은 현상을 주어진 자료로만 표현하고자 하는 경우 신호에 접근할 수 있는 상한은 존재할 것이다.

예를 들어 카드사 콜센터에 인입되는 통화량을 예측할 때 고객의 결제일은 중요한 변수이다. 하지만 결제일이 중요한 변수라는 것을 모르고 있다면 이 부분의 신호를 파악하기 어렵다.

회귀모델을 만들때 오차항에 대한 가정을 하고 신호와 오차를 분리한다. 주어진 자료로 우리가 가정한 오차만큼을 제외한 부분을 잘 설명할 수 있다면, 우리가 만들어낸 모델은 적합하다고 할 수 있다. 이를 평가하기 위해 모델을 만든 후 잔차의 패턴으로 모델의 적합성을 진단한다.

시계열 자료를 분석하는 회귀모형을 만들때도 잔차의 패턴을 보고 모형적합성을 진단할 수 있다. 관측된 값을 시간순으로 정렬한 후 잔차의 패턴을 살펴보았을때 일정한 주기성, 트렌드를 보인다면 오차를 잘 구분해낸 모형이라고 할 수 없다.

1) 구분해내지 못한 오차를 표현할 수 있는 변수를 찾는다면 이러한 문제가 해결될 것인가?
-> 그렇다고 생각함. 이러한 문제가 발생하는 것은 시계열 자료의 특수성이라기 보다 타겟값에 영향을 미치는 추가적인 요인을 발견하지 못한 것이다. 이런 관점에서 시계열 자료라는 특수성은 문제를 다른 관점에서 해결할 수 있는 힌트가 된다.

2) 힌트란 무엇인가?
-> 우리가 확보하지 못한 중요한 변수를 새롭게 발견하는 것은 어렵다. 하지만 오차가 직전의 값에 일정한 영향을 받는다는 정보만으로 이 현상을 나타내는 변수를 생성할 수 있다. 물론 이 변수가 어떤 곳에 기인하는지는 확인이 어려운 경우가 많을 것이다.

직전 오차에 일정한 값(r)을 곱한 값과 새롭게 정의할 오차의 합으로 현재 시기의 오차를 정의할 수 있다. 이 정의를 바탕으로 기존의 회귀식을 변형한 새로운 회귀식을 표현할 수 있다. 새로 만들어진 회귀식의 오차는 정규성, 등분산성, 독립성 등을 따를 것으로 가정하고 모수를 추정할 때 r도 추가로 추정할 수 있다.

이렇게 우리는 가지고 있지 않은 변수이지만, 시간(또는 순서)에 영향을 받을 것이라는 믿음으로 개선된 회귀모형을 추정할 수 있다. 즉 우리가 원하는 가정에 만족하는 만큼 소음과 신호를 분리할 수 있다.

1. 자전거 수요 예측

  - https://brunch.co.kr/@gimmesilver/2

  - 자전거 수요를 예측하는 프로세스

  ※ 통화수요를 예측한다는 것과의 차이점...

  - 다른 캐글 커널을 살펴보는 것도 가능할 듯


2. 패키지 수동 다운로드

  - https://rfriend.tistory.com/tag/R%20package%20%EC%88%98%EB%8F%99%EC%84%A4%EC%B9%98


3. 참고논문

  1) Interday Forecasting and Intraday Updating of Call Center Arrivals


서점에서 구매한 책이 마음에 안드는 것에 대한 대안으로 밀리의 서재 구독을 신청했다.


여기서 '인용' 기능은 책읽으면서 기록하는 수고로움을 덜어준다.


이러한 인용구들을 옮기는 과정은 어떻게 할 수 있을까?




읽는 과정에선 별 필터 없이 마음에 들면 인용한다.


책을 다 읽은 후, 인용구들을 다시 돌아보고 옮겨 쓸만한 문구를 추려보자.


기준을 정하고(ex. 한 책당 5문장) 이에 따라 핵심 내용을 끝까지 추려내보자.


본디 5분만에 1시간 연설을 준비하는 것은 쉽지만, 1시간만에 5분짜리 연설을 준비하는 것은 어렵다고 한다.

4년간 통계학을 공부했다.


누군가에겐 짧고, 또 누군가에겐 긴 시간인 4년은 무의식 중에 여러가지 철학을 안겨주었을 것이다.


고작 이정도로 학문을 논한다는 반발이 조금 두렵지만, 


지금까지 내 인생에 약 15%를 할애한 곳에서 어떠한 철학도 말할 수 없다는 그게 더 두려운 일이 아닐까?




본질적으로 통계학은 의사결정을 위한 학문이다.


주장에 대한 근거를 정량화(측정)하기 위해 사용한다.


현재 우리가 측정할 수 있다고 생각하는 것들은 그들을 측정하고자 했던 사람들의 노력에 의한 것이다.


수리통계에서 '어떻게 조금이라도 합리적으로 측정할 것인가?' 를 논의한다.


  - 먼저 event를 어떻게 수에 대응할지를 고민하고, 측정한 여러 대상을 어떻게 요약할지 고민한다.


    요약한 값을 바탕으로 현상의 이상여부를 확률(분포)적으로 판단한다.

    (확률이 낮다고 반드시 아니라고 할 순 없지만, 합리적인 의사결정을 위해 기준을 마련한다.)


    이 모든 과정은 합리적이라고 판단되는 어떤 의도에 의해 시도되며, 그것은 합리적으로 받아들여진다.




위의 의견을 말했지만 학업기간은 이 내용에 충실하지 않았다.


오히려 알고리즘 등 기술적인 부분에 대해서 중요하다고 생각해서 여기에 더욱 관심을 가졌다.


반년 이상 통계를 공부에서 멀어진 후 생각해보니 


알고리즘과 예측력을 공부하는 것보다 중요한 것은 본질적으로 측정에 대한 것이지 않을까? 하는 생각을 하게 된다.


'어떻게 측정할 것인가?'가 결국 이 학문을 아우르는 본질적인 질문이 아닐까 생각해본다.



다시 말하지만, 이것은 사실이 아닌 개인의 의견이다.





1. 곁에 두고 읽는 니체 - 사이토 다카시

  - 군생활 시절 사이토 다카시의 자기계발 서적을 많이 읽었고, 재밌게 읽었다.

    니체는 대학에서 들은 철학 수업에서 가장 흥미로웠던 주제.

    책을 곧바고 구매하진 않았지만, 니체의 가치와 깨어있는 삶의 주제를 언젠가 리뷰해보면 좋을 것 같아서.






2. 데이터를 철학하다 - 장석권

  - 통계적인 알고리즘을 개발하는 것이 내 목적이 아니라 데이터를 어떤 관점으로 바라보고 파악하며, 어떻게 활용할 것인가를 공부하는 입장에서 읽어보면 좋을 것 같은 책. 이 책은 꼭 읽어보고 싶다.





3. 만들어진 진실

  - 어린 시절부터 생각해왔던 주제이다. 현상을 진정 객관적으로 바라볼 수 있는 능력을 기를 수 있을까


' > 읽어 볼 책' 카테고리의 다른 글

최근 구매한 책  (0) 2018.10.02
빌려온 책  (0) 2018.05.16
180301_교보문고에 가다  (0) 2018.03.04

부동산 투자를 분석에 적용하고자 하는 시도는 기존에 많았다. 하지만 자력으로 분석하는 프로세스를 구현하고자 부동산 데이터를 구축하고 분석하고자하는 시도를 할 것이다.

ㅁ 목적
  - 예측인가? 수익률 분석인가?
    -> 매매가 상승으로 인한 시세차익으로 수익을 얻고자하면 집값이 오를 것 같은 부동산을 예측하는 것이 중요
       월세수익은 자료를 취합하고, 매입원가(취득세,복비 포함)/대출가능금액/대출이자/이를 제하고 이자수익을 계산해 최적 수익을 얻을 수 있는 곳을 찾는 것

ㅁ 부동산 가격에 대한 예측(전세투자)
  - 어떤 지표를 활용해 시세차익을 얻을 수 있는 부동산을 탐지할 것인가?
  1. Target indicator
      - 부동산 실거래가
      - 부동산 공시가
      - 부동산 매매가 각각을 타겟으로 모델링가능 -> 비교 가능
      : 모델로 추정한 예측값과 실거래가가 차이가 큰 경우 / 즉, 예측값은 높은데 가격이 낮게 형성되어있는 경우 해당 매물을 주의깊게 관찰 가능
* 모델링 시에는 log price를 활용하는 것이 좋을 것
* validation을 통해 타당성을 보수적으로 평가
* 모델은 과대적합보단 과소적합으로 전반적인 트렌드를 보는 방향으로 하자 why? 정확한 값(오차가 작은)을 예측하는 것이 목표가 아니라 트렌드로부터 얼마나 벗어나 있으며 그 이유는 무엇인가를 탐색하는 것이 이유이기 때문에 적절한 기준을 수립하는 것에 더 집중하기 위함

  2. predictable variable
      - 부동산 가격에 영향을 미친다고 생각되는 여러가지 추상적인 + 객관적 특징을 정리

    1) 객관적인 변수(수치형 또는 잘 정리되어 있는 범주형 변수)
       - 사이트별로 돌아다니며 적합한 데이터를 지속적으로 수집
       - 분명 여러가지 테이블 + 결측값이 나올 것인데 이를 어떻게 관리 및 처리할지 초기에 고민이 필요할 것으로 보임

    2) 추상적인 변수
         - 학군, 역세권, (재)개발 호재 등 명확한 수치로 표현하기 힘든 변수를 수치화할 수 있는 방안 마련(이 과정이 가장 어려울 것으로 보임)
         - 학군 : 중학교 기준 특목고를 몇명 보내는가(최근 3년간 평균) 등
         - 역세권 : 근접한 역과는 거리가 얼마인가?
                         근접한 역이 몇호선인가?
                         근처에 버스정류장 또는 시외버스터미널이 있는가?
                         공항/열차 등 기타 교통수단
         - 개발호재 : ???????????????????


ㅁ 월세투자
  - 예측이 필요한가?

그 대신
1. 수익률을 정확하게 계산
2. 다주택자에게 적용되는 법률 등

자료를 정확하게 수집하고

집값이 내려가지만 않으면 ok
공실률 예측이 과연 필요한가?
(예측이 필요없이 직관적으로 관리가능한 부분에 대해 아무런 생각없이 분석하고 시간을 낭비하는 것은 아닌지 경계)


아무튼 결론은 스스로 기준을 수립하고 자료를 엑셀로 정리할 필요가 있음

+ Recent posts