기본 콘텐츠로 건너뛰기

1월, 2022의 게시물 표시

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

베르누이와 이항확률분포

내용 베르누이분포(Bernoulli distribution) 이항확률분포(Binomial distribution) 이항분포의 기대값과 분산 베르누이분포(Bernoulli distribution) 한번의 시행에서 성공 또는 실패(1또는 0)의 결과만을 보이는 확률분포를 베르누이분포 라고 합니다. 즉, 이 확률변수는 두개의 값만을 포함합니다. 이 분포의 확률질량함수는 식 1과 같이 나타낼 수 있습니다. $$\begin{equation}\tag{1} f(x)=P(X=x)=\begin{cases}p&\quad \text{for}\; x=1\\1-p&\quad \text{for}\; x=0\\ p&\quad \text{for}\; x=\text{otherwise} \end{cases} \end{equation}$$ 위 확률질량함수(PMF)는 하나의 매개변수(parameter) 즉, 확률 p에 의해 결정됩니다. 그러므로 이 분포는 다음과 같이 나타냅니다. X ∼ Bernoulli(p) import numpy as np import pandas as pd from scipy import stats from sympy import * import matplotlib.pyplot as plt 예 1)  1개의 주사위를 시행하는 경우 확률변수는 다음과 같습니다. $$\begin{align}&\text{눈의 수 1 or 3 : x=1}\\ &\text{Any other value: x=0}\end{align}$$ 이 분포의 확률질량함수(PMF)와 E(x) ? $$\begin{align} &f(x)=\left(\frac{1}{3}\right)^x\left(\frac{2}{3}\right)^{1-x}\\ &\begin{aligned}E(x)&=1 \cdot \frac{1}{3}+0 \cdot \frac{2}{3}\\&=\frac{1}{3}\end{aligne

이산확률분포: 확률질량함수와 누적분포함수

내용 확률질량함수(PMF) 누적분포함수(Cumulative Distribution Function, CDF) 이산확률분포 확률분포는 샘플공간의 각 지점 또는 각 구간의 확률을 기준으로 작성됩니다. 이러한 확률은 함수로 작성될 수 있으며 그 확률의 대상이 되는 사건(확률변수)이 이산변수일 경우 확률질량함수(Probability Mass Function, PMF) , 연속변수일 경우 확률밀도함수(Probability Density Function, PDF) 이라고 합니다. 두 경우 모두 일정한 변수구간에서의 각 확률의 합은 확률누적분포 함수(Cumulative Distribution Function, CDF) 라고 합니다. 이 함수의 결과와 확률변수 값에 대해 시각적으로 나타낸 것을 확률분포 라고 합니다. 확률분포는 각 확률변수와 함수의 값을 대응시킨 것으로 시각적으로 나타낼 수 있습니다. 이러한 분포의 형태는 특정한 함수로 구현되는 분포들을 따르는 경향을 보입니다. 그러므로 데이터들의 분석에서 적합한 확률분포를 가정하여 여러 통계 방법들을 적용할 수 있습니다. 이러한 점 때문에 분포의 특성들을 이해하는 것은 데이터들에 대한 통계분석의 기반을 제공한다고 할 수 있습니다. 확률질량함수(PMF), 누적분포함수(CDF)를 정리하는 것이 분포를 이해하는데 큰 도움이 됩니다. 확률밀도함수(PDF)는 연속변수를 소개할 때 다시 정리합니다. 확률질량함수(PMF) 확률변수 X의 범위 $R_x$가 셀수 있는 집합이라면 그 집합 즉 샘플공간(sample space, S)을 다음과 같이 나타낼 수 있습니다. S={x 1 , x 2 , x 3 , …} 확률변수는 변수에 값을 대응시키는 함수 이기도 합니다. 즉, S의 등은 각 확률변수에 대응하는 사건들 입니다. 각 사건에 대응하는 확률을 산출할 수 있는 함수가 확률질량함수가 됩니다. 관심의 대상이 되는 사건(event) A는 다음과 같이 나타냅니다. $$\text{A}=\{\text{s} \in

Convolutional Neutral Network(CNN)

CNN Padding과 Stride CNN의 구조 CNN 모델 구축 Convolutional Neutral Network(CNN) CNN CNN(Convolutional Neural Networks)은 이미지 분류, 객체 감지, 분할 등과 같은 이미지 및 비디오와 관련된 기계 학습 문제를 해결하는 것으로 알려진 딥 러닝 모델 유형입니다. CNN은 학습 가능한 매개변수를 공유하는 함성곱충(convolutional layer)이라는 특수한 유형의 레이어를 사용하기 때문입니다. 가중치 또는 매개변수 공유는 이미지에서 학습할 패턴(예: 가장자리 또는 윤곽)이 이미지의 픽셀 위치와 무관하다고 가정하기 때문에 작동합니다. CNN의 구성; CONV: 합성곱 연산 → 활성화 함수:ReLU 등 → POOL:풀링연산 적용이유 다층 퍼셉트론 : 이미지를 1차원 텐서로 변환하여 입력층에 입력, 그러므로 공간적/지역적 구조의 정보(spatial/topological information)가 유실 합성곱 신경망: 공간적인 구조 정보를 보존하면서 학습할 수 있는 방법 공간 구조의 정보 : 이미지는 높이, 너비, 채널로 구성된 3차원 텐서 높이는 세로방향의 픽셀 수, 너비는 가로방향을 픽셀 수 채널은 색성분을 의미 예를들어 흑백이미지는 채널수가 1. 각 픽셀은 0~255사이의 값 CNN의 주요포인트는 이미지 전체 보다는 부분에 집중하며 집중한 정보와 주변정보들의 연관성을 찾는 것입니다. 예를 들어 새의 이미지에서 다른 형태들과 두드러진 특징은 부리에 있습니다. 그러므로 부리의 유무로 다른 형태들과의 구분할 수 있습니다. 이러한 이유로 전체를 파악하는 것보다는 부리부분 만을 조사하는 것이 더 효율적일 것입니다. 이와같은 중요부분을 이해하고자 하는 모델이 CNN입니다. 각 새들마다 부리의 위치에 차이가 있습니다. 그러므로 부리의 유무와 함께 주변 부분과의 연관성도 분석을 위한 대상이 됩니다. 이

지수와 로그 함수의 미분

내용 지수와 로그 함수의 미분 로그 곡선(Logarithmic Curve) 지수와 로그 함수의 미분 지수와 로그가 포함된 함수들을 미분합니다. 다음은 로그 함수입니다. $$\begin{equation} y = \log_ex \; \text{또는} \; \log(x) \end{equation}$$ 위 함수 y의 역함수는 지수함수가 됩니다. 지수 급수의 미분은 원래 형태와 같으므로 식 1과 같이 나타낼 수 있습니다. $$\begin{align}\tag{1} y &=\log_ex \rightarrow e^y=x\\ e^y &=\frac{dx}{dy}\\ \frac{dy}{dx}&=\frac{1}{\frac{dx}{dy}}\\ &=\frac{1}{e^y}\\ &=\frac{1}{x} \end{align}$$ 결과적으로 로그함수의 미분은 식 2와 같이 나타낼 수 있습니다. $$\begin{equation}\tag{2} \frac{d(\log_e x)}{dx}=\frac{dy}{dx}=x^{-1} \end{equation}$$ import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt 예 1)  $\displaystyle y=\log(x+a)$를 미분합니다. $$\begin{align} x+a&=e^y\\ \frac{d(x+a)}{dy}&=e^y \rightarrow \frac{dx}{dy}=e^y\\ \frac{dy}{dx}&=\frac{1}{e^y}\\ &=\frac{1}{x+a} \end{align}$$ a, x=symbols('a, x') y=log(x+a) diff(y, x) $\quad \small \color{blue}{\frac{1}{a + x}}$ 예 2)  $y = \log_{10}x$를 미분

지수와 로그함수

내용 지수함수(Exponential Function) 단순이자(simple interest) 복리 이자(compound interest) 오일러 수(Euler number) 지수 급수(Exponential series) 자연로그(Natural Logarithms) 지수와 로그함수 지수함수(Exponential Function) 주어진 시간 동안 항상 자신의 크기에 비례하는 방식으로 증가하는 양을 생각해 봅시다. 이러한 증가는 일정한 금리로 돈에 대한 이자를 계산하는 과정으로 설명할 수 있습니다. 자본이 클수록 주어진 시간에 대한 이자의 증가액은 커집니다. 이러한 이자는 단순이자 와 복리 이자 로 구분됩니다. 전자의 경우 자본은 고정된 상태로 유지되고 후자의 경우 이자가 자본에 추가되므로 원금에 대한 증가율 역시 증가됩니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt 단순이자(simple interest) 원금이 1000원이고 연 이자율을 10%로 가정합니다. 이 경우 증분은 매년 100원이 됩니다. 다음 10년 동안 계속하면 그 시간이 끝날 때까지 총액이 2000원으로 원금의 두 배가 될 것입니다. 연 이자율이 5% 였다면 재산을 두 배로 늘리려면 20년, 연이율이 2%라면 50년이 소요될 것입니다. 연간 이자가 r 이면 재산을 두 배로 늘리기 위한 기간은 식 1에 의해 결정할 수 있습니다.(등차수열) $$\begin{align}\tag{1} y &= y_0(1 + Nr)\\ y_0&: 원금\\ r&: 연 이자율\\ N&: 보유기간(년) \end{align}$$ 복리 이자(compound interest) 원금 1000원과 10%의 연 이자율을 가정합니다. 매년 이자를 원금에 합산한다고 하면 1년후 원금은 1100원이 2년 후에

다층퍼셉트론(Multilayer Perceptron)

내용 다층 퍼셉트론(Multilayer perceptron)이란? custom layer의 생성 저장과 호출 주식자료에 적용 다층 퍼셉트론(Multilayer perceptron) 다층 퍼셉트론(Multilayer perceptron)이란? 가장 단순한 심층 네트워크를 다층 퍼셉트론(multilayer perceptron, mlp) 원시 데이터의 입력층(input layer) &rarrow; 1개 이상의 은닉층(hidden layer) &rarrow; 마지막 결과 출력층(output layer) 첫 입력층의 결과부터 이전 층의 결과는 다음 층의 입력이 되므로 모든 층들이 밀접하게 연결된 구조이므로 입력 데이터에 국한된 결과를 나타낼 가능성이 증가합니다. 즉, 과적합(over-estimate), 과소적합(under-estimate) 등에 대한 위험성이 증가되므로 그들에 대한 평가와 적절한 모델 선택이 중요합니다. 이러한 문제를 해결하는 데 도움이 되도록 가중치 감소 및 드롭아웃과 같은 정규화 기술들이 사용됩니다. 레이블(반응변수)이 아핀 변환(선형변환)에 의해 입력 데이터(특성, feature)와 관련되어 있다면 이 접근 방식으로 충분할 수 있지만 선형변환은 항상 증가 또는 감소의 변화만을 나타냅니다. 예를 들어 개인이 대출을 상환할지 여부를 예측하려는 경우 다른 모든 조건이 동일할 때 소득이 높은 신청자가 소득이 낮은 신청자보다 항상 상환할 가능성이 더 높다고 합리적으로 상상할 수 있습니다. 단조롭지만 이 관계는 상환 가능성과 선형적으로 연관되지 않을 가능성이 높습니다. 소득이 0에서 50,000으로 증가하면 100에서 105만으로 증가하는 것보다 상환 가능성이 더 크게 증가할 가능성이 높습니다. 이를 처리하는 한 가지 방법은 소득의 로그를 특성으로 사용하여 선형성이 더 명확해지도록 데이터를 전처리하는 것일 수 있습니다. 그러나 이러한 선형변환의 단조성은 여러 층들을 구성하는 것과 단일 층

랜덤변수들의 결합

랜덤변수들의 결합 실제 자료 분석에서 두 개 이상의 변수들 사이의 관계가 분석 대상이 되는 경우가 빈번합니다. 예를 들어 암과 담배의 관계나 주가와 이자의 관계를 파악하는데 있어 분석할 변수들은 두 개 이상이 됩니다. 이러한 다변수의 상황에서 확률과 다양한 통계량들의 산출 과정은 단변수에서의 과정과 유사합니다. import numpy as np import pandas as pd from scipy import stats import matplotlib.pyplot as plt from scipy import special from sympy import * import FinanceDataReader as fdr 예 1)  A 학급 12명의 학생들 중 축구 선수가 3명이고 야구 선수가 4 명 있습니다. 다른 학급과 어떤 운동경기를 하기위에 3명을 선출하는 경우 모두 선수 출신 학생일 확률? 축구선수의 변수를 X, 야구선수의 변수를 Y, 나머지를 Z이라 하면 이 분포의 확률은 다음과 같이 계산됩니다. $$\begin{align} &p(X=x, Y=y, Z=z)=\frac{\binom{3}{x} \binom{4}{y} \binom{5}{z}}{\binom{12}{3}}\\ &x+y+z=12 \end{align}$$ total=special.comb(12, 3) total 220.0 p=pd.DataFrame([[]]) for i in range(4): for j in range(5): for k in range(5): if i+j+k==3: x=pd.DataFrame([[i, j, k, special.comb(3,i)* special.comb(4, j)*special.comb(5, k)/total]]) p=pd.concat([p, x]) p=np.around(p.iloc[1:,:], 3) p.columns=['x',

확률부등식과 모멘트 생성함수

확률부등식 마르코프 부등식(Markov's inequality) 체비셰프부등식(chebyshev's inequality) 모멘트생성함수(Moment generating function) 테일러 급수 확률부등식과 모멘트 생성함수 통계량으로 추정될 수 있는 분포에서 대상이 되는 값(들)이 포함되는 확률의 구간을 알아야 할 필요가 있습니다. 또한 통계분석 결과를 신뢰하는 정도를 나타내는 신뢰구간 을 설정할 필요가 있습니다. 마르코프와 체비셰프 부등식은 확률구간 또는 신뢰구간을 설정하는 이론적 근거가 되는 수학적 표현들입니다. 확률부등식 마르코프 부등식(Markov's inequality) X가 랜덤변수이고 g(x)가 음이 아닌 실수값 함수이면 임의의 양의 실수 c에 대해 식 1이 성립합니다. $$\begin{equation} \tag{1} p[g(x) \ge c] \le \frac{E[g(x)]}{c} \end{equation}$$ 이 변수의 사건이 $A=\{x|g(x) \ge c\}$라 하면 위 식은 다음과 같이 증명됩니다. $$\begin{align} E[g(x)]&=\int^\infty_{-\infty} g(x)f(X)\, dx\\&=\int_{A} g(x)f(X)\, dx+\int^c_{A} g(x)f(X)\, dx\\& \ge \int_{A} g(x)f(X)\, dx\\&\ge \int_{A} cf(X)\, dx\\&=cP[x \in A]\\&=cP[g(x) \ge c] \end{align}$$ 예 1)  확률변수 X는 평균이 np, 분산이 np(1-p)인 이항분포를 따릅니다. 마코프 부등식을 적용하여 다음식을 만족하는 확률의 상한(upper bound)을 결정합니다. $$\begin{align} &P(X \ge \alpha n)\\ & p=\frac{1}{2}, \quad \alpha