기본 콘텐츠로 건너뛰기

라벨이 분산인 게시물 표시

[matplotlib]quiver()함수

[data analysis] 분산과 공분산의 계산

분산과 공분산의 계산 대수적으로 분산($\sigma^2$)과 공분산(COV)은 식 1과 같이 계산됩니다. \begin{align} \tag{식 1}\sigma^2&=\frac{1}{N-1} (x-\mu)^2\\ \text{Cov(x, y)}&=\frac{1}{N-1}(x-\mu_x)(y-\mu_y)\end{align} 즉, 분산은 관찰값 자신이 평균과 떨어져 있는 정도를 나타내며 공분산은 두 관찰값이 평균에 대한 변화정도를 나타내는 지표입니다. 아래에서 각 값 $x_1, x_2, x_3$가 평균을 고려한 값(관찰값-평균)이라면 그 값들의 벡터와 전치벡터의 곱은 분산과 공분산을 나타냅니다. x1,x2,x3=symbols("x1,x2,x3") A=Matrix(3,1,[x1,x2,x3]);A $\left[\begin{matrix}x_{1}\\x_{2}\\x_{3}\end{matrix}\right]$ A*A.T $\left[\begin{matrix}x_{1}^{2} & x_{1} x_{2} & x_{1} x_{3}\\x_{1} x_{2} & x_{2}^{2} & x_{2} x_{3}\\x_{1} x_{3} & x_{2} x_{3} & x_{3}^{2}\end{matrix}\right]$ 위 결과에서 대각원소들은 각 변수의 분산, 대각외요소들은 두 변수간의 공분산을 나타냅니다. 식 1로 계산되는 분산과 공분산을 벡터 또는 행렬로 구성되는 데이터로부터 다시 고려해 봅니다. 식 2는 $n \times p$ 차원인 관측값 S를 행렬로 나타낸 것입니다. 각 열은 변수이고 각 행은 샘플(인스턴스)이라고 합니다. 즉, 식 2는p개의 변수와 n개의 샘플로 구성된 것입니다. $$\tag{식 2}S=\begin{bmatrix}x_{11} &x_{12} &\cdots & x_{1p}\\x_{21} &x_{22} &\cdots & x_{2p}\\\vdot...

[data analysis] 분산에 의한 설명변수 선택

분산에 의한 설명변수 선택 회귀모델 등의 모델에서 중요한 특징(feature) 즉, 설명변수는 반응변수(라벨, label)와의 강한 상관관계로 예측에 영향이 큰 변수를 의미합니다. 그러나 반응변수와의 상관성에 관계없이 특징 자체의 변동성이 크지 않다면 예측에 큰 도움이 되지 않을 가능성을 배제할 수 없습니다. 그러므로 분산 기준치보다 작은 분산을 가진 특징은 모델에서 제외할 수 있습니다. 다시말하자면 분산에 의해 특징(feature)을 선택할 수 있습니다. sklearn.feature_selection.VarianceThreshold() 클래스를 적용합니다. 이 방법은 특징의 분산을 기준으로 하기 때문에 반응변수와의 상관성 정도는 고려되지 않는다는 점을 주의해야 합니다. 예 1) 코스피지수(kos), 코스탁지수(kq), kodex 레버리지(kl), kodex 인버스(ki), 그리고 원달러환율(WonDol)의 일일 시가, 고가, 저가, 종가(o,h,p,c)들을 설명변수로 사용하여 삼성전자(sam)의 일일 종가를 추정하는 회귀모델을 위해 설명변수를 선택합니다. 이 모델에 적합한 설명변수들을 선택하기 위해 sklearn.feature_selection 모듈의 여러 클래스를 적용하여봅니다. import numpy as np import numpy.linalg as la import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler, MinMaxScaler from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error from sklearn.model_selection import train_test_split from sklearn.model_selection import KFold import yfinance as yf ...

[data analysis] 오차의 분산

오차의 분산 관련된 내용 회귀모델의 오차에 대해 자기상관분석(Autocorrelation Analysis) 오차의 분산 각 샘플의 추정치 또는 오차의 분포는 회귀계수에만 의존하므로 모든 샘플들에서 발생하는 분포의 분산은 동일하다고 가정합니다( 표 1 참조 ). 그러나 다중회귀모델의 경우 여러 설명변수들 사이에 상관성(공분산의 존재)등으로 인해 이 가정을 만족시키지 못하는 경우가 대부분입니다. 공분산의 존재는 등분산 가정을 충족시키지 못하는 것으로 OLS에서 일반적으로 사용되는 통계적 추론 절차에 문제를 일으킵니다. 즉, 샘플링 분산을 추정하고 가설을 테스트하는 표준 방법이 편향된다는 것입니다. 그 결과 OLS에 의해 추정되는 회귀계수의 편향으로 예측의 신뢰가 감소될 수 있습니다. 등분산 가정이 충족되지 않는 경우 다음과 같이 방법으로 이 문제를 감소시킬 수 있습니다. 데이터 변환(예: 반응 변수 및/또는 설명 변수의 로그 취함)으로 일정한 분산을 달성 다중 설명변수들 중에 주요한 변수만을 선택 설명변수들 간에 정규화 회귀분석의 등분산성 가정을 수식으로 표현하면 식 1과 같습니다. \begin{align}\text{Var}(e|X)& = E(ee^T)\\& = \sigma_e^2 \cdot I \end{align} (식 1) 식 1에서 I는 항등행렬을 나타내는 것으로 σ e 2 I는 각 샘플에서 발생하는 오차의 분산이 같다는 것을 의미합니다(식 2). $$\sigma_e^2 \cdot I = \sigma_e^2\begin{bmatrix}1&0&\cdots&0\\0&1&\cdots&0\\ \vdots& \vdots& \ddots& \vdots\\ 0&0&\cdots&1\end{bmatrix}$$ (식 2) 회귀모형을 행렬시스템으로 나타내면 식 3와 같습니다. \begin{align}y&=X\b...

확률과 주요통계량: 분산

확률과 주요통계량: 분산 관련 내용 확률과 주요통계량: 모멘트와 기대값 분산 (Variance) 분산 (Variance) 분산(variance) 은 데이터 변동성 을 나타내는 것으로 식 1과 같이 계산되며 분산의 제곱근이 표준편차(standard deviation, $\sigma$) 가 됩니다. \begin{align}\sigma^2&=E(X-\mu)^2\\&=(x_1-\mu)^2P(X=x_1)+ \cdots+(x_k-\mu)^2P(X=x_k)\\&=\sum^k_{i=1} (x_k-\mu)^2P(X=x_k)\end{align} (식 1) 자료 분포에 대한 퍼짐의 척도인 분산은 각 데이터와 평균사이의 편차 제곱에 대한 가중 평균입니다. 식 1은 식 2와 같이 간략하게 정리됩니다. \begin{align}\sigma^2&=\sum^k_{i=1} (x_i-\mu)^2P(X=x_i)\\&=\sum^k_{i=1}(x_i^2-2x_i\mu+\mu^2)f(x_i)\\&=\sum^k_{i=1} x_i^2f(x_i) -2\mu \sum^k_{i=1} x_if(x_i)+ \mu^2\\&=\sum^k_{i=1} x_i^2f(x_i)-2\mu^2+\mu^2\\&=\sum^k_{i=1} x_i^2f(x_i)-\mu^2\\&=E(X^2)-(E(X))^2\\ \because& \sum^k_{i=1} x_if(x_i)=\mu, \quad \sum^k_{i=1} f(x_i)=1 \end{align} (식 2) 분산은 확률변수의 분포를 나타내는 지표이며 식 2에서 나타낸 것과 같이 2차 모멘트와 1차 모멘트의 차로 계산됩니다. 즉, 분산은 기대값으로부터 파생되므로 분산 역시 기대값의 특성인 선형결합이 가능합니다. 그러나 식 3과 같이 분산의 선형결합은 기대값의 그것과는 다른 형태를 보입니다. \begin{align}\text{var}(ax+b)&=\sigma_...

[data analysis] 변동: 분산(variance)

변동(Variation) 관련내용 범위(range) 4분위수(Quantile) 중간값 절대 편차(MAD) 분산(Variance) 표준편차(Standard Deviation) 분산계수(Variation Coefficient) 분산(Variance) 데이터의 중심으로부터의 차이 정도를 나타내는 지표로 중간값을 사용하는 MAD와는 달리 분산 (variance) 은 평균을 사용합니다. 또한 MAD 는 절대값을 적용하는데 반해 동일한 이유로 분산은 편차의 제곱을 사용합니다. 즉, 식 1과 같이 계산되는 분산을 평균제곱편차(mean squared deviation) 라고도 합니다. 일반적으로 분산은 σ 2 으로 나타냅니다. \begin{align}\sigma^2&=\frac{\sum^n_{i=1}(x_i-\mu)^2}{n-1}\\& n:\text{샘플 크기},\quad \mu: \text{평균} \end{align} (식 1) 그림 1은 데이터의 각 값과 평균의 편차 제곱(y var ), 중간값과의 차이의 절대값(y mad ) 함수들의 형태를 나타낸 것입니다. 즉, 분산과 MAD산출하기 위한 함수들을 나타냅니다. 그림1. 분산과 MAD 함수. 그림 1에서 나타낸 것과 같이 MAD와 분산을 위한 함수는 각각 직선과 2차 곡선입니다. 편차는 확률을 기반으로 하는 통계적 추론의 중요한 매개변수입니다. 기존 자료를 기반으로 새로운 값을 추정하기 위한 통계 모델은 편차를 최소로 하는 지점을 기준으로 구축됩니다. 이 기준은 함수의 미분에 의한 최소 극값으로 결정할 수 있습니다. 이러한 측면에서 2차 함수인 분산 함수가 더 유리합니다. 예) 한 반에서 무작위로 선택한 6명의 수학점수입니다. 이 자료의 분산을 결정합니다. 90, 65, 95, 75, 70, 85 x=np.array([90, 65, 95, 75, 70, 85]) mu=x.mean(); mu 80.0 평균을 기준으로 각 값의 편차와 제곱편차를 계산합...