728x90 반응형 728x90 반응형 인과관계분석 12 효율적 포트폴리오를 위한 현대 이론과 실전 전략 : 마코위츠부터 Fama-French까지! https://youtu.be/6cyQr_PnbY8안녕하세요, 다빈치스탁의 시청자 여러분. 오늘은 포트폴리오 전략의 중요성과 다양한 접근 방법에 대해 알아보겠습니다. "계란을 한 바구니에 담지 말라"는 오래된 격언은 투자의 세계에서도 그대로 적용됩니다. 이 말은 위험 분산의 중요성을 강조하는데, 주식투자에서는 다양한 종목에 분산하여 투자함으로써 리스크를 관리하라는 의미입니다. 예를 들어, 반도체 산업이 호황일 때 삼성전자, 하이닉스, 한미반도체 등 반도체 관련 종목에만 집중 투자하는 것은 과연 효율적인 분산투자일까요? 이러한 접근은 DRAM, 낸드플래시 등 종목별로 세부 카테고리가 다양하긴 하지만, 여전히 한 산업에 치중하는 것이므로 진정한 의미의 분산투자라고 보기 어렵습니다. 이런 고민에 대한 해답을 .. 2024. 5. 5. 의사결정나무(Decision Tree) with R 의사결정나무는 기존의 다변량분석기법(로짓회귀, 선형회귀, 주성분, 요인 등)과 비교하여 비교적 직관적인 표를 이용하여 분석하고자 하는 방법이다. 분석의 대상이 연속형 자료인가 범주형 자료인가에 따라 회귀트리, 분류트리로 구분된다. 통계적 분석에서 봤을 때 크게 군집분석의 한 종류로도 볼 수 있다. 우선 트리의 구조는 회귀트리, 분류트리 할 것 없이 기본적으로는 루트마디, 자식마디, 부모마디, 끝 마디, 중간마디, 가지, 깊이 등으로 구성된다. 그냥 임의로 자료를 분류하거나 예측하는 것이 아니라 일정한 규칙 예를 들면 가지의 분기기분, 중지규칙, 가지치기 규칙 등에 따라 필요한 통계량이 각 각 다르다. 노드를 분류하는 핵심은 부모노드에서 자식노드로 분기할 때 무슨 변수를 어떻게 분류하여 구분하는 것이 결과.. 2020. 9. 10. 요인분석(Factor Analysis) with R 요인분석도 역시 지난번 포스트 2020/09/09 - [머신러닝 with R/데이터마이닝 with R] - 주성분분석(PCA) with R 에서 다룬 주성분분석과 마찬가지로 설명변수의 차원을 축소하기 위한 방법론 중의 하나로 샘플에 포함되어 있는 잠재적 요인을 추출하는데 사용한다. 다만 주성분 분석의 경우 주성분으로 압축하기 위한 선형결합에서 오차항을 무시하지만(혹은 내포) 요인분석은 오차항을 독립적인 요인으로 간주하는 통계처리 방법이다. 즉 주성분 분석의 경우에는 총 분산 = 공통 분산이라고 간주하고 분석을 수행하고 요인분석에서는 총 분산 = 공통 분산 + 개별 분산이라는 가정하에서 분석을 수행한다. 여기서 에러텀은 개별 분산이라고 간주할 수 있다. https://leenaissance.site/리네상.. 2020. 9. 9. 주성분분석(PCA) with R 우리는 지금까지 회귀식을 만들기 위해서 최적의 변수조합이 무엇인가에 대해서 쭉 알아봤다. backward, forward, vif 등을 통해서 핵심변수들을 추출해봤고 이외에도 능형회귀, 라쏘회귀 등의 방법(변수선택)도 있다. 자 그렇다면 이렇게 자꾸 변수를 줄여나가는 이유가 뭘까? 그렇다. 앞서 언급한 것처럼 공선성으로 인한 회귀계수를 변동성이 커지고 그에 따라 모델의 신뢰도가 낮아진다는 점이다. 다시 말해 과대적합과 과소적합 사이의 딜레마를 어떻게 효율적으로 해결할 것인가가 가장 큰 관심이라는 점이다. 지금까지는 종속변수(결과변수)를 설명하기에 가장 적합한 변수조합을 찾아내는데 중점을 두었다면 이번에는 n 개의 변수를 n 보다 적은 m개의 상호독립적인 변수로 요약(여기서 요약된 변수는 기존 변수의 선형.. 2020. 9. 9. 중회귀분석의 변수선정 with R 지난번 포스트(2020/09/07 - [데이터마이닝 with R] - 삼성전자 중회귀분석 with R - 심화편)에서처럼 중회귀분석의 최적변수를 선정하기 위해 진행한 방법에 대해 엄밀히 따지자면 backward 방식이라고 볼 수 있다. 다만 지난 번처럼 변수의 유의성과 vif값을 통해서 임의로 진행하는 것은 상당히 효율적이지만 직관적 추론에 근거한 방식이라고 볼 수가 있다. 따라서 지난번에는 가정하기를 모델의 설명력이 다소 떨어지더라도(즉, 정보의 손실을 어느 정도 감수하더라도) 공선성만 줄일 수 있다면 과감하게 버렸다. 그러나 R function 중에는 이렇게 용감하지만 무식하게 변수들을 날려버릴 것을 염려하여 AIC에 기반한 stepwise 분석기법을 제공하고 있다. 자 이번 포스트에서는 forwar.. 2020. 9. 8. 삼성전자 중회귀분석 with R - 심화편 이전 포스트(2020/09/02 - [데이터마이닝 with R] - 삼성전자의 중회귀분석 with R)에서 우리는 상당히 만족스럽지 못한 결과치를 얻었다. 그 원인을 다시 한번 반복하면 우선 단위가 너무 천차만별이라는 점, 유의마한 변수를 고려하지 않고 수집한 모든 변수를 독립변수로 사용한 점 등이 있다. 자 그렇다면 이제부터는 단위를 표준화하는 방법에 대해 알아보자. 방법은 여러가지가 있을 수 있다. 예를 들어 변수들의 단위를 표준화하는 방법, 아니면 회귀계수의 단위를 표준화하는 방법(표준화 회귀계수) 혹은 우리가 다루는 자료는 시계열데이터의 형태이므로 로그차분 데이터를 이용하는 방법도 쓸 수 있다. 자 여러가지 방법 중에 우리는 가장 마지막 방법을 이용해보자. 지난 포스트에서 업종별지수 데이터와 삼성.. 2020. 9. 7. 삼성전자의 중회귀분석 with R 단순회귀분석과 달리 중회귀분석(다변수)에 있어서 독립변수들 사이에 높은 상관성이 있거나 선형적으로 종속성이 존재할 경우(y=ax+bx1+c 와 같은 회귀식에서 독립변수 x, x1 사이에 높은 상관관계가 있거나 혹은 x=d+ex1 과 같은 관계식이 존재할 경우) 최소자승법에 의한 회귀계수의 분산이 커지고 그에 따라 추정값(예측값)의 정확도가 낮아지게 된다. 이러한 오류를 방지하기 위한 분석법으로 VIF(variance Inflation Factor)라는 것이 있는데 이 값이 통상 10 이상이면 다중공선성이 존재한다고 판단하고 주성분분석과 같은 방법을 통해 정보손실을 최소화하면서 부적절한 변수를 제거해서 모델을 더욱 정교하게 만드는 방법이 있다. 추후 머신러닝 편에서도 다루겠지만 PCA(Principal C.. 2020. 9. 2. 코스피지수의 회귀분석 with R 회귀분석이란? 어떠한 사건 (가), (나)의 발생이 서로 연관이 있고(비독립적이며) 상호간의 방향성이 있을 때 변수들의 인과관계를 가정한 수학적 모델링과 측정자료를 통해 계수를 추정, 미래를 예측하는 과정이다. (더 멋진 말이 있을 수 있다. 항상 정답은 아닐 수도 있다는 점 명심.) 머신러닝에서도 다루게 될 내용이지만 대부분의 supervised learning 에서는 iid(independent, identical distribute 즉 상호독립적이고 균일한 분포를 확률분포를 가정)를 가정으로 한다. 이와 유사하게 회귀분석에서 몇 가지 가정을 만족할 때 분석을 수행할 수 있다. 회귀분석의 선행조건(가정) : 원래는 측정자료의 검토 및 잔차의 검토 등을 통해 적합성검증을 수행하여야 하나 이번 포스트에서.. 2020. 9. 2. R 통계분석 통계분석이란 그 목적과 방법에 따라 위와 같이 구분할 수 있다. (정답은 아닐 수도 있다. 통상적으로 그러하다는 뜻.) 자, 그러면 우리가 얻고자 하는 직관이나 통찰 즉 미래의 예측값을 구할 수 있는 방법들은 위의 표에서 노란색 회귀분석의 영역에 속한다. 그렇다면 적어도 이러한 회귀분석이 통계학에서 어떠한 목적과 방법에 의해 분석되는지 정도는 짚고 넘어가보자. 우선 첫 번째 카테고리를 보면 차이검정과 관계검정으로 구분이 된다. 차이검정이란 쉽게 말해서 두 표본집단간의 유의미한 차이가 있는가를 알아보는 방법이다. 집단의 갯수가 2개인가 혹은 그 이상인가에 따라 t검정과 분산분석으로 접근법이 달라지기는 하지만 결과적으로 보면 표본집단간의 차이를 알아보는 방법이다. 자 그러면 어떠한 경우에 이러한 차이검정이 .. 2020. 9. 1. R 데이터 가져오기 요즈음 대부분의 증권사 HTS에서는 차트데이터를 Excel 로 보내는 기능을 제공하고 있다. 그렇게 해서 데이터를 컴에 저장을 해도 되긴 한데 이거 상당히 번거로운 작업이다. 자 이런 노가다가 하기싫어서 우리는 이베스트에서 제공하는 XingAPI를 구현했었다. 응? 뭔 소리지? 하는 분들은 오른쪽 카테고리에서 증권사API를 살펴보기를 바란다. 여기 첨부파일에도 저장되어 있으니 궁금한 사람은 다운받으면 OK! 자 api를 이용해서 우리는 클릭 몇 번에 지수데이터를 다 받았다. 그러면 우선 업종시계열 자료를 복사해서 새로운 excel 파일에 복사해서 붙여넣고 다른 이름으로 저장 -> 텍스트(탭으로분리), 텍스트(쉼표로분리), 엑셀저장 옵션을 이용해서 각 각 다른 확장자로 저장한 뒤 아래의 코드를 통해서 데이.. 2020. 9. 1. R 기초문법을 배워보자 자, 우리가 하고자 하는 것이 뭐다? 그렇다 데이터 분석이다. 그렇다면 R 프로그램에서 데이터를 어떻게 인식하고 어떻게 처리하는지 아래의 코드를 통해서 알아보자. 변수와 데이터의 타입, 그리고 데이터의 구조 및 데이터프레임 추가적으로 리스트 정도만 알면 어지간한 통계분석에 있어서 막힐 일은 없다고 보면 된다. 아래의 코드를 복사해서 설치한 R에 붙여넣어도 되고 아니면 첨부된 r script 파일을 직접 열어도 상관없다. 2020. 9. 1. R 프로그램을 설치해보자 프로그래밍은 목적에 따라 다양하게 분류할 수 있다. 웹(홈페이지:php,jsp,,)을 만들기 위한 언어, 앱(안드로이드:java,, IOS:object c 등)을 만들기 위한 언어 등 그 종류는 매우 많다. 또한 프로그램의 설계방법론에 따라 객체지향 뭐 이렇게 분류하기도 하지만 복잡하니까 머리 아프다. 하나만 기억하자. 파이썬이나 R은 "분석"을 위한 프로그램이란 점만 기억하자. 우리가 하고자 하는 건 뭐다? 그렇다. 데이터를 "분석"하고 싶다. 그렇다면 우리도 적당한 분석툴 하나쯤은 있어야 될 것 같다. 무엇보다 R이나 파이썬은 공짜다. 좋다고 너무 흥분하진 말자. 조건부 공짜다. GPL이라고 해서 비상업적 용도에 한해서 공짜라는 점이다. 물론 상업적으로 이용해도 오픈소스로 사용하면 크게 문제될 건 없.. 2020. 9. 1. 이전 1 다음