기초지식
-
[2강] 데이터 시각화(Matplotlib을 활용)기초지식/Quantopian(강의노트) 2024. 11. 2. 09:19
데이터 시각화 : Matplotlib 라이브러리Matplotlib은 파이썬의 데이터 시각화 라이브러리로, 데이터를 차트나 그래프 형태로 시각적으로 표현하는 데 사용된다. 설치는 anaconda prompt 나 cmd 창에서 "pip inatall matplotlib" 명령어를 입력하면 된다. 데이터 입수 : yfinance 라이브러리 사용yfinance는 야후 파이낸스 데이터를 파이썬에서 활용할 수 있게 해주는 라이브러리이다. 야후 파이낸스 (https://finance.yahoo.com/)를 직접 검색하여 찾아야 하는 정보를 파이썬에서 함수를 사용해서 받아볼 수 있게 되는 것이다. anaconda prompt 나 cmd 창에서 "pip inatall yfinance" 명령어를 통해서 설치가 가능하고, ..
-
[1강] Jupyter Notebook(주피터 노트북) 활용하기기초지식/Quantopian(강의노트) 2024. 10. 27. 23:48
Jupyter Notebook(주피터 노트북)의 특징주피터 노트북(Jupyter Notebook)은 파이썬 코드를 작성하고 실행할 수 있는 에디터 중 하나이다. 아래 그림 1에서 볼 수 있는 것처럼 일반적인 에디터는 그림 1의 좌측처럼 결과 1, 2, 3을 한꺼번에 볼 수밖에 없는데, 주피터 노트북은 코드를 단계적으로 실행하면서 결과 1, 2, 3을 단계적으로 확인할 수 있다. 따라서 주피터 노트북에서는 첫 번째 코드 셀을 완성하여 결과를 본 뒤, 두 번째 코드 셀을 이리저리 조작하여 결과의 변화를 살펴보는 작업이 가능해진다. 이런 작업은 데이터 분석과 시각화, 머신러닝, 퀀트 분석 등에서 주로 활용하는 작업 방식이다. 아나콘다 네비게이터로 Jupyter Notebook(주피터 노트북) 연결 아나콘다 ..
-
[4장]ISL with R : 로지스틱회귀 LDA QDA 실습 in R(재무지표를 통한 상승주 분류)기초지식/ISL with R(통계학) 2024. 3. 14. 07:59
재무지표를 통한 부도 예측 로지스틱회귀, LDA, QDA라는 툴을 투자에 적용하면 내가 찍은 주식이 오를지 떨어질지 예측하는데 쓸 수 있다. ISL with R 4장에서 살펴본 로지스틱회귀, LDA, QDA 모두 다양한 투입변수를 통해서 어떤 결과로 분류할 수 있는지 예측하는 모델이라는 점에서 다양한 투입변수를 통해서 상승할 종목인지, 하락할 종목인지 판단할 수 있는 것이다. 이때 유용한 투입변수가 될 수 있는 것이 각종 재무지표이다.( 주요 재무비율 통한 기업 분석 참조) 이번 분석에서는 2023년 3분기 매출원가율, 부채비율, 순이익증가율 이라는 세 가지 요소가 2024년 2월 말 주식의 상승 여부와 어떻게 작용하는지를 볼 것이다. 회사별 재무비율은 금융감독원에서 제공하는 전자공시시스템인 다트(htt..
-
[4장]ISL with R : QDA(이차판별분석)기초지식/ISL with R(통계학) 2023. 7. 20. 06:28
선형판별분석(LDA: Linear Discriminant Analysis)과 이차판별분석(QDA: Quadratic Discriminant Analysis) LDA는 먼저 클래스 간의 분포가 정규분포를 따르며, 각 클래스가 다른 평균 동일한 분산을 가질 때 독립변수(x)를 여러 클래스(k 개의 클래스) 중 어디에 속하는지를 판별하는 방식이었다. 여기에서 각 클래스의 분산이 다를 수도 있다는 가정을 추가한 것이 QDA이다. QDA의 판별함수 도출(p>1인 경우) QDA의 판별함수를 계산할 때는 LDA의 판별함수 계산과정에서 "각 클래스별 다른 공분산 행렬"이라는 가정만 추가해 주면 된다.([4장]ISL with R : LDA(선형판별분석) 참조 ) QDA도 LDA와 마찬가지로 아래와 같은 베이즈 정리에서 ..
-
[4장]ISL with R : LDA(선형판별분석)기초지식/ISL with R(통계학) 2023. 7. 8. 07:25
로지스틱회귀 분석과 선형판별분석(LDA: Linear Discriminant Analysis) ISL with R 4 장에서는 로지스틱 회귀분석 외에 선형판별분석(LDA)라는 분류 분석을 소개한다. 로지스틱 회귀분석은 어떤 분포에 대한 가정없이 우도함수의 경사하강법을 통해서 회귀계수를 찾고 오즈(Odds)와 로짓(Logit)을 통한 판별을 했다. LDA 는 데이터의 분포가 정규분포를 따르며, 클래스별 공분산 행렬이 동일할 때 독립변수(x)를 여러 클래스(k 개의 클래스) 중 어디에 속하는지를 판별하는 방식이다. LDA는 추가적인 가정을 필요로 하지만 여러 클래스가 있는 경우, 표본이 작고 분포가 정규분포인 경우에는 로지스틱 회귀분석보다 효과가 좋다. 독립변수가 하나일 때(p=1) LDA는 확률에서 베이즈..
-
[4장]ISL with R : 로지스틱 회귀(회귀계수의 계산2: 최적해 도출)기초지식/ISL with R(통계학) 2023. 4. 9. 07:24
경사하강법을 통한 회귀계수 찾기 [4장]ISL with R : 로지스틱 회귀(회귀계수의 계산1: 우도함수와 경사하강법)에서 우리는 아래 식과 같은 로그우도함수의 미분값(경사)을 구했다. 이제 b_j 회귀계수를 조금씩 늘려나가면서 최적의 경사를 찾으면 된다. 아래 그림 1과 같은 과정을 거치는 것이다. 여기서 경사값이 더 이상 줄거나 늘지 않는 상태를 만드는 b_j 계수 값이 최적값이 된다. 경사하강법에서 b_j 계수의 초기값은 보통 0으로 설정한다. 0부터 b_j 값을 조금씩 늘려나가면서 최적의 경사를 찾게 되는데 이 "조금씩"을 학습률(Learning rate)이라고 한다. 위 그림 1의 화살표의 크기를 뜻한다고 보면 된다. 위 그림 1의 화살표의 크기가 너무 크면 최적값을 지나칠 수도 있고, 너무 작..
-
[4장]ISL with R : 로지스틱 회귀(회귀계수의 계산1: 우도함수와 경사하강법)기초지식/ISL with R(통계학) 2023. 4. 5. 08:10
우도함수 정의 로지스틱 회귀 함수의 회귀계수는 우도함수(Likelihood function)를 이용한 경사하강법(Gradient descent)을 통해서 계산할 수 있다. 먼저 우도함수를 보자. 우도함수는 각 데이터 포인트가 생성될 확률을 나타낸다. 그리고 최대우도법은(확률변수의 모수를 구하는 방법) 각 데이터 포인트가 생성될 확률을 최대로 만드는 확률분포를 찾는 과정이다. "[4장]ISL with R : 로지스틱 회귀(로지스틱 함수)"에서 말한 것처럼 아래 식 1 로지스틱 함수는 "x값에 따른 값이 집단 1에 분류될 확률"을 나타낸다. 위 식을 바탕으로 각 데이터 포인트가 생성될 확률을 생각해 보자. 데이터 결과를 y_i = 0 또는 y_i = 1로 분류 한다고 가정하면, y_i 가 1일 때는 데이터 ..
-
[4장]ISL with R : 로지스틱 회귀(로지스틱 함수)기초지식/ISL with R(통계학) 2023. 4. 4. 06:52
분류 분석과 로지스틱 회귀 분석 ISL with R 4 장에서는 분류분석을 소개한다. 분류 분석은 다양한 독립변수들을 통해서 이 사람은 암이냐(1) 아니냐(0), 이 기업을 망할 것이냐(1) 아니냐를(0) 0 또는 1 값으로 분류해 내는 분석이다. ISL with R 3 장에서 배운 아래 선형회귀 식을 분류분석에서도 사용할 수 있을까? 위 선형회귀 분석 기본 식을 보면 Zi는 0 또는 1 값 외에 다양한 값을 가지기 때문에 분류분석에는 적합하지 않아 보인다. 하지만 분류분석의 가장 기초인 로지스틱 회귀 분석은 이 선형회귀 식을 로지스틱 함수에 넣어서 분류분석을 위한 도구로 만든다. 로지스틱 함수 로지스틱 함수는 시그모이드 함수의 한 종류인데, 대략적으로 아래 오른쪽 그림과 같이 S자 형태라는 것만 알면 ..