기본 콘텐츠로 건너뛰기

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

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은 열단위 즉, 행 방향으

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

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은 열단위 즉, 행 방향으로 결합
  • join은 결합방식을 지정. ’outer’는 합집합, ’inner’는 교집합 방식

np.random.choice(x, size=None, replace=True, p=None)

  • 주어진 수들(x)에서 무작위로 지정된 갯수(size)를 추출 합니다.
  • x: 1차원 객체 또는 정수 입니다. 만약 정수로 주어진다면 np.arange(정수)로 인식합니다. 즉, [0, 지정한 정수)의 범위에서 주어진 크기 만큼의 랜덤 샘플이 생성
  • >
  • replace: 추출의 방식을 지정. True는 복원이고 기본값입니다.
  • p: 객체의 각 값에 확률을 부여하기 위한 매개변수

DataFrame객체.corr(method=”pearson” )

  • 객체의 상관행렬을 반환
  • numpy.corrcoef(x, y)와 같음, 단 이 함수의 경우 분석 대상인 두 객체를 분리해서 입력해야 합니다.
  • scipy.stats.pearsonr(x,y), 두 객체를 전달하여 피어슨 상관계수와 p-Value를 반환

scipy.special.comb(n,k)

  • scipy.special 모듈 함수
  • n개 중에서 중복없이 순서를 고려하지 않고 k개를 선택하는 경우의 수 (조합)

stats.chi2_contingency(obs, correction=True, …)

  • 교차표의 변수들 독립성에 대한 χ2 검정 결과를 반환
  • obs: 교차표
  • 자유도가 1이고 correction=True 이면 연속성에 대한 Yate’s correction을 실행
  • χ2 통계량, p-value, dof (자유도), 기대값을 반환

DataFrame객체.cov(ddof=1)

  • 객체의 공분산행렬을 반환
  • ddof는 자유도를 계산하기 위해 표본수에서 제외되는 수를 나타냄

pd.crosstab(index, columns, rownames=None, colnames=None, margins=False, margins_name= 'All', dropna= True, normalize=False)

  • 두 개 (또는 그 이상)의 요인(factor)에 대한 교차표를 작성합니다.
  • index, columns : 각각 행과 열에서 그룹화 할 값
  • rownames, colnames: 표의 행과 열의 이름
  • margins=True이면 각 행의 합, 각 열의 합을 계산하는 열, 행을 추가하고 이름은 margins_name으로 지정할 수 있음
  • dropna=True이면 NA 값은 삭제. 행과 열의 수가 일치하지 않을 경우는 False를 선택 즉, 행과 열의 수가 일치하지 않을 경우 True이면 행 기준의 합과 열의 합 사이에 불일치가 발생
  • 값들의 정규화의 여부를 지정. 이 인수에 전달 할 수 있는 인수값은 다음과 같습니다.
    • normalize=True or all 이면 각 값은 총합으로 나눈 값을 반환
    • normalize=index, 각 행에 대해 정규화
    • normalize=column, 각 열에 대해 정규화

np.cumcum(x, axis=None)

  • 객체 x의 누적합을 반환합니다.
  • 2차원 이상의 객체에서 계산의 기준이 되는 축(axis)을 지정할 수 있습니다. 지정하지 않을 경우 1차원으로 자동 변환하여 결과를 반환합니다.

pd.cut(x, bins, right=True, labels=None, retbins=False, ...)

  • 1차원 배열의 각 값을 지정한 구간(bins)에 따라 그룹화합니다. 결과적으로 값들을 계급에 따라 분할합니다.
  • 연속형 변수를 범주형 변수로 변환할 경우 유용합니다.
  • x : 1차원 배열 객체
  • bins: 계급(class) 구간의 갯수를 나타내는 정수 또는 명시적으로 구간을 구분하기 위한 리스트 객체
  • right=Ture → (a, b], right=False → [a, b)
  • label: 각 계급 구간에 대한 이름을 지정. 그러므로 bins의 수와 같아야 함
  • retbins: bins을 정수로 전달 할 경우 각 계급(class)의 구간을 반환

D

pd.DataFrame(객체, index, columns)

  • 객체는 리스트, 사전 형태 등
  • index: 행이름
  • columns: 열이름
  • 함수에서 직접적으로 행과 열이름을 전달할 수 있지만 DataFrame 객체를 생성한 후 다음과 같이 행과 열 이름을 지정할 수 있습니다.
    • DataFrame객체.index: 행이름 지정
    • DataFrame객체.columns: 열이름 지정
  • .values 속성을 사용하여 객체의 값만을 추출하여 numpy 배열형을 변환

FinanceDataReader.DataReader(symbol, start=None, end=None, country=None)

  • python의 라이브러리인 FinanceDataReader를 사용하여 웹을 통해 다양한 금융 데이터를 호출하여 사용할 수 있으며 이 데이터의 기본 구조는 pandas.DataFrame 구조로서 여러 메소드나 함수를 적용하기에 적합니다. 이 모듈의 함수인 DataReader()를 사용하기 위해 다음을 실행합니다.
  • 코드(symbol)에 대응하는 가격 데이터를 호출
  • 시작 날짜만 입력하면 현재까지의 자료를 호출

pd객체.day_name

요일을 이름으로 반환하는 속성

pd객체.dayofweek

  • 요일을 정수로 반환하는 속성
  • 0=월요일, 6=일요일

pd객체.describe()

전체 데이터의 크기, 평균 등의 기술 통계량을 나타냅니다.

np.digitize(x, bin)

  • 연속형 자료에 대한 그룹화 결과를 반환
  • x: numpy 객체
  • bin: 그룹의 상한과 하한의 되는 기준 객체입니다. 예를 들어 bin=[0, 1, 2] 일 경우 그 그룹화 범위는 0 < x ≤ 1, 1 < x ≤ 2이 됩니다. 또한 정수를 전달하면 임의적으로 분류합니다.

sympy객체. doit()

  • sympy모듈의 일부 함수는 평가되지 않은 상태로 반환됩니다.이러한 결과를 평가하기 위해 적용하는 함수입니다.
  • 예를 들어 적분된 식 자체를 객체로 보존할 필요가 존재할 경우 integrate() 함수 대신에 integral() 함수를 사용하여 계산된 결과가 아닌 적분식을 나타낼 수 있습니다. 이러한 식의 객체를 평가하기 위해 사용합니다.

numpy.dot(x,y)

객체 x와 y의 행렬곱 결과를 반환

DataFrame.drop(labels=None, axis=0, …)

  • DataFrame객체에 행 또는 열을 삭제
  • labels: 행 또는 열 이름
  • axis: 0-열 삭제, 1- 행삭제

DataFrame.dropna(axis=0, how='any', …)

  • DataFrame객체에 NaN가 포함된 행 또는 열을 삭제
  • axis: 0이면 행, 1이면 열을 지정
  • how:'any', 'all'
    • any: 한 개 이상의 NaN이 존재하는 행 또는 열을 삭제하기
    • all: 행 또는 열의 모든 값이 NaN일 경우 삭제

statsmodels.stats.stattools.durbin_watson(resids, axis=0)

  • Durbin_Watson 통계량을 계산
  • 1차원 이상의 객체일 경우 기준 축을 지정

E

scipy.stats.f.pdf(x, d1, d2, loc=0, scale=1)

  • F분포의 확률밀도함수 계산
  • d1: 분자의 자유도
  • d2: 분모의 자유도

sympt.Eq(x, y)

식을 나타내는 두 인수 x, y로부터 x=y가 성립하는 새로운 식을 반환

sympt.exapnd(x)

식 x를 전개된 형태로 반환

scipy.stats.expon(x, loc=0, scale=1)

  • 지수분포를 위한 클래스, expon.pdf(x) = exp(−x)
  • 확률밀도 함수는 표준화된 형태로 정의된 것으로서 평균과 표준편차를 의미하는 loc, scale을 각각 0, 1로 정규화(표준화)한 변수를 기본으로 합니다. 즉, 지수함수의 모수인 λ가 1인 경우에 해당합니다. 1이 아닌 λ를 적용하기 위해서는 expon.pdf()의 매개변수 scale= 1/λ 로 지정하는 것에 대응됩니다.

F

scipy.stats.f_oneway(x, y,…)

  • 인수 x, y, …는 각각 별개의 자료. 즉, 1차원 벡터 또는 pandas.Series 형태.
  • 객체 x, y, …의 일원분산분석의 결과인 F 검정통계량과 p-value를 반환
  • 이 함수에서 유의수준은 0.05로 고정되어 있음을 주의

sympy.factor(식)

식을 간단한 형태로 반환 즉, 분수의 경우 인수분해한 상태의 식을 반환

np.math.factorial(n)

  • numpy.math 모듈 함수
  • 양의 정수 n의 팩토리얼을 계산(=n!)

np객체.flatten()

객체의 차원을 1차원으로 변환

sklearn.feature_selection.f_regression(x, y, center=True)

  • x, y에 대해 회귀 모형에서의 F 분석을 실행
  • 검정통계량의 F값과 유의확률(p-value)를 반환
  • 이 함수의 인수 중 y는 1차원 즉, 벡터이어야 합니다.

sympy.fps(f, x=None, x0=0, dir=1, …)

  • 함수 f의 급수를 공식화하여 나타냅니다.
  • x: 급수의 변수
  • x0: 시작점이며 기본값은 0
  • dir: 급수 전개의 방향을 나타내며 1 또는 '+'일 경우 x0을 기준으로 오른쪽, -1 또는 '-'일 경우는 왼쪽으로 전개되는 식을 나타냄

G

scipy.speical.gamma(z)

  • 인수 z은 실수 또는 복소수이며 그 값에 대한 팩토리얼을 계산 (다음 식)
  • $$Γ = \int^\infty_0 x^{z−1}e^{−x}\;dx$$

DataFrame.groupby(by=None, axis=0, level=None, …, dropna=True)

  • mapper를 사용하거나 일련의 열을 사용하여 데이터 프레임을 그룹화합니다.
  • by: mapping, function, label, or label들의 리스트를 인수로 전달하여 그룹화의
  • 기준을 지정
  • 예) DataFrame.groupby("a").mean(): 인자 a에 의해 자료를 분류하고 그룹화된
  • 값들의 평균을 반환합니다.

H

matplotlibpyplot.hist(x, bins, density=False)

  • numpy.histogram(x, bins, density=False)와 동일하지만 이 함수는 그래프를 함께 반환합니다.

numpy.histogram(x, bins, density=False)

  • x: numpy 객체로서 2차원 이상의 객체일 경우 1차원으로 자동 변환
  • bins: 데이터를 그룹화하기 위한 클래스의 수 또는 각 그룹의 상한값과 하한값으로 구성한 객체
  • density: True일 경우, 빈도 대신 밀도가 반환
  • $$\text{density} =\frac{\text{frequency}{Number of bin} · n, \quad \text{n : total number of data}$$

I

DataFrame.insert(loc, column, value, allow_duplicates=False)

  • 지정한 위치(loc)에 데이터(열)를 삽입
  • loc: 삽입할 열 위치 (0, 1, 2, …)
  • column: 삽입할 열이름
  • value: 삽입할 열 데이터

sympy.integrate(식, 변수)

  • 식의 적분 계산
  • 부정 적분: 계산 결과에는 상수항이 생략되어 있음을 주의해야 합니다.
  • 정적분: integrate(식, (변수, 범위 하한, 범위 상한))
  • 1개 이상의 변수에 대한 다중 적분은 지정된 변수의 순서에 따라 적분이 실행됩니다.
    • integrate(식, 변수1, 변수2, ...)
    • integrate(식, (변수1, 범위 하한, 범위 상한), (변수2, 범위 하한, 범위 상한),...)
  • 미분의 Derivative()와 같이 최종적으로
  • Integral()함수는 평가되지 않은 적분의 형태를 반환하고 .doit() 함수를 결합하여 동일한 결과를 반환합니다.

scipy.integrate.quad(식, 변수)

  • 지정한 변수에 대해 식을 미분, 식은 lambda에 의해 정의한 함수
  • 미분한 결과와 오차범위를 반환

scipy.stats.iqr(x, axis=none, rng=[25, 75])

  • x: numpy 객체
  • axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정
  • rng: 사분위의 범위 계산의 기준을 지정하는 것으로 Q1, Q3가 기본값입니다.

DataFrame.isna()

  • 값이 결측치이면 True, 아니면 False를 반환

Timestamp.isocalendar()

  • 연, 월, 일이 구성된 Timestamp 객체에서 년, 월 그리고 일을 분리하여 반환. day는 요일로 전환됨
    • 2021-1-1 → 2000, 1, 1
    • 일 :1:월요일 ∼ 7:일요일
  • Timestamp객체는 pandas의 DatetimeIndex 객체를 포함
  • 분리된 각 결과는 .year, .week, .day 속성을 사용하여 호출

K

scipy.stats.kstest(x, cdf, args=(), N=20, alternative=’two-sided’, …)

  • Kolmogorov-Smirnov test를 수행
  • x: 1차원 데이터
  • cdf: 1차원 데이터 또는 문자열인 경우 scipy.stats에서 지원되는 함수의 이름
  • args: 분포(cdf)의 매개변수
  • N: 샘플 사이즈로 기본값은 20입니다.
  • alternative: 양측, 단측검정, 기본값은 양측검정
  • 검정통계량과 p-Value를 반환

scipy.stats.kurtosis(data, axis=0)

  • 지정한 축에 따라 자료의 첨도를 반환

L

sklearn.preprocessing.LabelEncoder()

  • 각 변수의 인덱스를 사용하여 명목변수를 수치형으로 전환하는 클래스
  • x=sklearn.preprocessing.LabelEncoder()
    • x.fit(객체)
    • x.class : 오름차순으로 정렬한 클래스의 이름을 나타냄
    • x.transform(객체): 클래스의 인덱스를 반환, 인코딩
    • x.inverse_transform(변환된 객체): 원시데이터로 환원, 디코딩

sklearn.linear_model.Lasso(alpha=1.0, *, fit_intercept=True, normalize=False, max_iter=1000, tol=0.0001, …)

  • lasso 회귀모델을 위한 클래스 생성(Lasso 회귀모형생성)
  • l1 norm을 적용합니다.
  • model=sklearn.linear_model.lasso()
    • model.fit(x, y): 클래스에 적용될 독립변수, 종속변수를 전달하는 메서드
    • model.predict(x): 생성된 모형에 의한 추정값 산출하는 메서드
    • model.score(x, y): 결정계수(R2)을 반환하는 메서드
    • model.coef_: 모형의 회귀계수를 반환하는 속성
    • model.intercept_: 모형의 편차를 반환하는 속성
    • 이외에도 다양한 메소드와 속성이 존재합니다.

sklearn.linear_model.LinearRegression()

  • 선형모형을 위한 클래스 생성( 회귀모형생성)
  • 이 클래스의 메소드는 sklearn.linear_model.Lasso()와 같음

pandas.linspace(start, stop, size)

  • [start, stop) 범위에서 일정한 간격으로 지정한 크기(size)의 수들을 반환

M

DataFrame.mad(axis=none, skipna=na)

  • 지정한 축에 따라 평균 절대편차(mean absolute deviation)를 반환
  • axis: 연산 기준 축 지정
  • 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.

np.max(x, axis=None)

  • 배열 객체 x에서 지정한 축에 따라 최대값을 반환
  • axis: None일 경우 1차원 벡터로 자동 변환 후 최대값 반환
  • array.max(axis), pd객체.max(axis)와 같음

numpy.mean(x, axis=none, skipna=na)

  • 지정한 축을 기준으로 산술평균을 계산 (= array.mean(axis=none))
  • axis: 연산 기준 축 지정
  • 자료가 결측치를 포함할 경우 처리 방식을 인자 skipna에 지정하며 기본값은 결측치를 무시합니다.

sklearn.metrics.mean_absolute_error(y_true, y_pred, …)

  • 관찰값과 추정값(pred)에 대한 평균절대오차(mae)를 계산

sklearn.metrics.mean_squared_error(true, pred, squared=True, …)

  • 관측값과 추정값(pred)에 대한 평균제곱오차(mse)를 계산
  • squared=False 인 경우는 rmse(=mse0.5)를 반환
  • 이 함수는 자유도를 고려하지 않음, 즉 mse/샘플 수

numpy.median(x, axis=none, …)

  • 지정한 축을 기준으로 중간값을 반환

np.min(x, axis=None)

  • 배열 객체 x에서 지정한 축에 따라 최소값을 반환
  • axis: None일 경우 1차원 벡터로 자동 변환후 최소값 반환
  • array.min(axis), pd객체.min(axis)과 같음

DataFrame.mode(axis=0, numeric_only=False, dropna=True)

  • 지정한 축을 따라 최빈값을 반환

N

scipy.stats.nbinom.pmf(k, n, p)

  • 음이항분포의 확률질량함수
  • k: 실패수, n: 성공수, p: 성공확률

O

sympy.O()

  • O()(알파벳 문자 O)는 x = ∞를 나타내는 기호로서 컴퓨터 과학에서 사용하는 Big O notation 입니다.

statsmodels.api.ols("Y ∼ C(X)", data)

  • anova 분석을 위한 회귀분석 클래스로 설명변수가 명목변수일 경우 적용하는 회귀모형 클래스
  • Y:반응변수, X: 설명변수
  • 설명변수가 명목변수일 경우 C()함수를 적용합니다.
  • 이 모형을 지정한 data에 적용하기 위해서는 .fit() 메소드를 적용
  • 모든 결과는 .summary()메소드로 나타냄

statsmodels.api.OLS(Y, X)

  • 회귀분석을 모형을 생성하는 클래스
  • Y:반응변수, X: 독립(설명)변수
  • 이 모형을 지정한 data에 적용하기 위해서는 .fit() 메소드를 생성
  • 결과는 .summary()메소드로 나타냄

P

DataFrame.pct_change(period=1,...)

  • 열단위로 period로 지정한 간격에 위치한 값들 사이의 변화율 계산, period의 기본값은 1

scipy.stats.pearsonr(x, y)

  • 두 배열 객체 x, y의 피어슨 상관계수와 양쪽 검정의 결과인 p-value를 반환

scipy.special.perm(n,k)

  • n개 중에서 k개를 선택하는 경우의 수(순열) 계산

pandas.pivot_table(df, index=None, columns=None, aggfunc=’mean’, margin=False, …)

  • df: dataframe 구조의 데이터
  • DataFrame을 index(row)와 columns에 대응하는 value를 나타내기 위한 피벗 테이블을 작성
  • pd.crosstab() 유사하지만 이 함수는 values값들이 존재해야 합니다.
  • 인수 aggfunc에 지정된 함수의 결과를 주변 셀(margin)에 입력합니다.

Piecewise

  • Piecewise((식, 조건),(식, 조건),...)
  • 변수의 조건에 따라 적용되는 식이 다른 조각 함수(piecewise function)를 계산
  • 결과 중 특정한 부분을 선택하기 위해 object.args[index]를 사용합니다. 그 선택된 결과 중 [0]은 함수, [1]은 조건만 선택됩니다.

plt.plot(x, y, linestyle, linewidth, color, marker, markersize...)

  • 선그래프와 산점도를 작성합니다.
  • x, y: x,y 축에 입력될 값들
  • linestyle: 선 종류
  • linewidth: 선 두께
  • color: 선 색
  • marker: 점을 표시하는 모양
  • markersize: marker의 크기
  • color와 marker 또는 선 종류는 "ro", "b+", "g–"와 같이 동시에 지정할 수 있습니다. 각각 red & circle, blue & +, green & dashed line을 의미합니다.
  • 기본적으로 선그래프를 나타내지만 marker 인자만을 전달 할 경우 산포도를 작성

scipy.stats.probplot(x, sparams=(), dist='norm', fit=True, plot=None, rvalue=False)

  • 지정한 분포를 기준으로 데이터(x)의 QQplot을 작성.
  • x: 배열 형태의 객체
  • sparams: 지정한 분포의 모수(형태모수, location, scale)
  • dist: 분포의 형태를 지정. 기본값은 정규분포( norm)
  • fit: 최적합 회귀선
  • plot: 이 결과를 그래프로 나타내기 위해 사용할 모듈을 지정
  • rvalue: 회귀선의 결정계수(R2) 표현 여부
  • x 축(이론적 분위수), y축(올림차순으로 정렬된 표준화된 관찰값)을 튜플로 반환
  • 회귀선의 기울기, 절편(편차), 상관계수 r을 튜플로 반환

DataFrame.product(axis, …)

  • DataFrame 객체의 지정한 축(axis)을 기반으로 동일한 행 또는 열의 값들을 곱을 수행

itertools.product(객체, repeat=1)

  • 객체를 시행할 경우 모든 경우를 반환
  • repeat은 시행횟수를 지정하며 기본값은 1
  • 이 함수의 결과는 게으른 평가로 이루어지므로 결과에 대해 자료형을 지정해 주어야 함

Q

numpy.quantile(x, q, axis=none)

  • 지정된 축을 따라 데이터(x)의 q번째 분위수를 계산합니다.
  • q: [0, 1]사이의 값 또는 그 사이 값들로 구성된 리스트
  • axis: 2차원이상의 객체의 경우 기준이 되는 축을 지정
  • np.precentile() 함수는 동일한 결과를 나타내지만 q는 [0, 100] 사이의 값 즉, 퍼센트입니다.

R

sympy.Rational(a, b)

  • 분수를 반환(a/b)

numpy.ravel(x, order="C" )

  • 객체 x를 1차원 벡터로 변환
  • order는 변환하는 축의 방향을 지정하는 매개변수로서 "C"는 행우선, "F"열 우선
  • $$\begin{bmatrix}1& 2\\3& 4\end{bmatrix} →\begin{cases}\text{'C' :} &\; [1, 2, 3, 4]\\\text{'F' :} &\; [1, 3, 2, 4]\end{cases}$$

sympy객체.removeO()

  • series()에 의한 급수 전개시 O() 즉, Big O notation으로 표현된 부분을 삭제합니다.

np.repeat(x, n, axis=None)

  • 객체 x내의 각 원소를 n번 반복
  • axis: x가 2차원 이상의 객체라면 기준이 되는 축을 지정

DataFrame.replace(x, y, inplace=False, …)

  • 객체내에 포함된 x를 y로 치환

DataFrame.rolling(n, axis=0 …)

  • DataFrame 객체에서 지정한 축(axis)을 기준으로 n 번 이동한 상태를 유지
  • 이 함수에 이어지는 함수에 따라 결과를 반환
  • 예) A.rolling(n=5, axis=0).mean()의 경우 행을 기준으로 5번 이동한 값들의 평균을 계산. 이러한 이동은 A의 처음부터 마지막까지 이루어지므로 결국 각 열의 5일 이동평균을 계산.

S

x.sample(n=None, frac=None, replace=False, axis=None, …)

  • DataFrame 또는 Series객체 x에서 지정한 수(n)만큼의 자료를 무작위로 샘플링
  • n 대신 선택할 표본의 비율(frac)을 지정할 수 있음
  • replace=False: 동일한 행 또는 열을 선택하지 않음
  • axis: DataFrame 객체일 경우 기준 축을 지정

sklearn.preprocessing.scale(x, axis=0)

  • 배열객체 x를 지정한 축에 따라 표준화를 수행하는 함수
  • $$x_{\text{Nomalized}} =\frac{x -\bar{x}}{σ_x}$$

plt.scatter(x, y, s, c, marker)

  • 산포도를 반환
  • x: x축의 인자로서 리스트, iteratable 객체
  • y: x에 대응되는 iterable 객체
  • 이 함수는 x와 y에 대응하는 점을 나타내는 것으로 점의 크기, 색, 모양을 지정할 수 있음
    • s: 크기
    • c: 색
    • marker : 모양(참조: https://matplotlib.org/stable/api/markers_api.html#module-matplotlib.markers)

DataFrame.sem(axis=None, ddof=1)

  • 지정한 축(axis)을 기준으로 Dataframe에 대한 표준오차를 계산
  • axis=None은 기본값으로 0과 같음
  • ddof는 자유도를 계산하기 위한 수를 지정, 전체수-ddof

sympy.series(함수 또는 식, x=None, x0=0, n=6, dir="+")

  • 함수 또는 식의 급수 전개를 반환합니다.
  • x: 변수
  • x0: 변수의 초기값
  • n: 급수를 전개 할 항의 개수
  • dir: 급수 전개의 방향을 지정합니다.

sklearn.linear_model.SGDRegressor(loss="squared_loss", penalty="l2", alpha=0.0001, …,learning_rate="invscaling", eta0=0.01, early_stopping=False,…)

  • 경사하강법에 의한 회귀모델을 생성하기 위한 클래스
  • loss: 비용함수 지정. 기본값은 mean squared error
  • penalty: 정규화 지정. 기본값은 l2-norm
  • max_iter: 최적화를 위해 최대 반복 연산 횟수 지정
  • learning_rate: 학습율을 지정. 학습율 ="constant" 일 경우 eta0값이 학습율이 됨. 기본은 "invscaling"
  • early_stopping: 최적화 과정에서 tol에서 지정한 수준이하에서 비용함수의 변화가 일어나지 않을 경우 실행 조기 중단
  • .fit(x, y) 클래스 실행, 반응변수인 y는 1차원 배열 구조어야 함
  • .predict(): 추정값을 반환
  • 다양한 메서드, 속성을 가짐

scpy.stats.shapiro(x)

  • 자료 x에 대한 shapiro-Wilk 검정을 실시
  • 통계량 w와 p-value 를 반환

sympy.solve(식, 변수)

  • 동차방정식(homogeneous equation, 식=0)에서 미지수(변수)의 해를 계산

np.sort(x, axis=-1, kind="quicksort")

  • 객체 x를 지정한 축(axis)에 따라 정렬합니다.
  • kind는 정렬을 위한 알고리즘 방법을 지정( "quicksort", "mergesort", "heapsort" )

scipy.stats.mode(a, axis=0)

  • 객체 a의 지정한 축(axis)에 따라 최빈값(들)을 결정합니다.

scipy.stats.skew(data, axis=0)

  • 지정한 축에 따라 자료의 왜도를 반환

plt.step(x, y)

  • x-y의 교차점들 사이를 선으로 연결하여 계단형태로 작도합니다.

sklearn.preprocessing.StandardScaler(x)

  • x는 2차원 배열 객체
  • 자료를 다음과 같이 표준화시키기 위한 클래스
  • $$x_{\text{normalize}} = \frac{x - \bar{x}}{σ_x}$$
  • .transform() 메서드를 사용하여 자료 변환.
  • .inverse_transform()메서드로 변환된 값에 대응하는 원시 데이터(raw data)로 환원.
  • 변환에 사용된 평균과 분산은 각각 .mean_, .var_속성으로 반환.

numpy.std(x, axis=None, ddof=0, ...)

  • 지정한 축을 기준으로 배열 객체 x의 표준편차를 계산 (=array.std() or pandas 객체.std())
  • axis=None 의 경우 1차원 벡터로 전환하여 표준편차 계산
  • ddof: 자료의 자유도를 산출하기 위해 데이터 크기에서 빼주는 값

. sympy.Sum(식, (변수, 시작, 마지막))

  • 식에서 지정한 변수에 따른 지정한 구간(시작, 마지막)의 합을 계산합니다.
  • 이 식은 평가되지 않은 상태로 반환
  • 결과를 평가하기 위해서는 .doit()함수를 적용합니다.

T

. np.tile(x, n)

  • 객체 x 자체를 n번 반복

. pd.Timestamp(x,...)

  • pandas time index와 같은 date 객체를 날짜 연산이 가능한 객체인 datetime 형식으로 변환하는 클래스
  • 다양한 속성과 메서드를 가지고 있음. 예를들어 .dayofweek 속성 또는 .weekday() 메서드는 날짜에 대응하는 요일을 반환합니다.
    • 0:월요일 ∼ 7:일요일 (참조: https://pandas.pydata.org/docs/reference/api/pandas.Timestamp. html)

. pandas.to_datetime(x)

  • x를 datetime 형식으로 변환
  • 이 형식은 .year, .month, .day의 속성을 가집니다. 이 속성으로 인 덱스에서 년, 월, 일에 속한 부분 만을 취할 수 있습니다.

. sklearn.model_selection.train_test_split(X, Y, test_size)

  • 데이터를 학습 셋과 테스트 셋으로 분리
  • X: 독립변수, Y: 반응변수
  • test_size: 전체 자료 중에서 검증에 사용할 데이터의 비율

. scipy.stats.ttest_ind(x, y, axis=0, equal_var=True)

  • 독립인 두 그룹 x, y의 t test를 실행
  • equal_var는 두 자료의 등분산성을 지정하는 것으로 기본값은 True
  • 검정통계량과 유의확률(p-value)를 반환

. scipy.stats.ttest_rel(x, y, axis=0)

  • x의 각 값에 대응하는 y의 값이 존재하는 두 관련 샘플에 대한 t test를 실시(짝비교)
  • 검정통계량과 유의확률(p-value)를 반환

U

. np.unique(x, return_index=False, return_counts=False, axis=None)

  • 객체 x에서 고유한 요소들과 각각의 빈도를 반환
  • return_index: 반환된 요소들의 인덱스 (첫 번째로 감지되는 인덱스)
  • return_counts: 각 고유값(unique)의 빈도수
  • axis=None: 함수가 실행되는 기준 축, None는 객체를 1차원으로 전환

V

. pd객체.values

  • Series, DataFrame의 pandas객체에서 값만을 추출하여 numpy 배열로 반환

pd객체.value_counts(normalize=False, sort=True, dropna=True)

  • 고유한 값의 빈도수를 포함하는 Series를 반환합니다.
  • normalize: 빈도수를 상대 빈도로 변환
  • sort: 빈도수에 따라 결과를 정렬
    • ascending=True 올림차순, False 내림차순
  • dropna=True, 결측치를 제거

numpy.var(x, axis=None, ddof=0, ...)

  • array객체 x의 분산을 계산 (x.var())
  • axis: 연산의 방향을 지정
  • ddof: 자료의 자유도를 산출하기 위해 고려되는 값

W

pd객체.weekday()

  • 요일을 정수로 반환하는 메소드
  • 월요일 : 0 ∼ 일요일 : 6

numpy.where(조건)

  • 조건이 참인 경우의 인덱스를 튜플 형식으로 반환

Z

scipy.stats.zscore(x)

  • 객체의 값들을 z 점수화하여 반환

댓글

이 블로그의 인기 게시물

matplotlib의 그래프 종류

1. 산포도(scatter plot) plt.scatter(x, y) >>> import matplotlib.pyplot as plt >>> import numpy as np >>> data=np.random.rand(1024, 2) >>> data[:3, :] >>> plt.scatter(data[:,0], data[:,1]) >>> plt.show() 2. 막대그래프(bar chart) plt.bar(x, hight, width, align='center') 매개변수중 width에 인수를 전달하여 막대의 두께를 조절할 수 있다. 또한 align의 인수는 'center'와 'edge' 이다. 기본값은 'center'이다. 이 값은 x축의 레이블이 막대의 중간에 위치(center) 또는 왼쪽 가장자리에 위치(edge)시킨다. 코드에서 np.random.randint 는 특정한 범위내에서 지정한 갯수의 랜덤수를 생성 np.unique(배열, retrun_counts=False, axis=None) : 객체 내의 중복되지 않은 수들을 반환한다. return_counts=True이면 각 수에 대한 빈도수를 반환한다. axis를 통해 행(1), 열(0)을 선택한다. >>> x=np.random.randint(1, 6, size=100) >>> uni,count=np.unique(x, return_counts=True) >>> uni array([1, 2, 3, 4, 5]) >>> count array([25, 17, 23, 16, 19], dtype=int64) >>> plt.bar(uni, count) >>> plt.show() 위의 막대그래프의 막대의

유사변환과 대각화

내용 유사변환 유사행렬의 특성 대각화(Diagonalization) 유사변환(Similarity transformation) 유사변환 n×n 차원의 정방 행렬 A, B 그리고 가역 행렬 P 사이에 식 1의 관계가 성립하면 행렬 A와 B는 유사하다고 하며 이 변환을 유사 변환 (similarity transformation)이라고 합니다. $$\begin{equation}\tag{1} A = PBP^{-1} \Leftrightarrow P^{-1}AP = B \end{equation}$$ 식 1의 유사 변환은 다음과 같이 고유값을 적용하여 특성 방정식 형태로 정리할 수 있습니다. $$\begin{align} B - \lambda I &= P^{-1}AP – \lambda P^{-1}P\\ &= P^{-1}(AP – \lambda P)\\ &= P^{-1}(A - \lambda I)P \end{align}$$ 위 식의 행렬식은 다음과 같이 정리됩니다. $$\begin{align} &\begin{aligned}\textsf{det}(B - \lambda I ) & = \textsf{det}(P^{-1}(AP – \lambda P))\\ &= \textsf{det}(P^{-1}) \textsf{det}((A – \lambda I)) \textsf{det}(P)\\ &= \textsf{det}(P^{-1}) \textsf{det}(P) \textsf{det}((A – \lambda I))\\ &= \textsf{det}(A – \lambda I)\end{aligned}\\ &\begin{aligned}\because \; \textsf{det}(P^{-1}) \textsf{det}(P) &= \textsf{det}(P^{-1}P)\\ &= \t

sympy.solvers로 방정식해 구하기

sympy.solvers로 방정식해 구하기 대수 방정식을 해를 계산하기 위해 다음 함수를 사용합니다. sympy.solvers.solve(f, *symbols, **flags) f=0, 즉 동차방정식에 대해 지정한 변수의 해를 계산 f : 식 또는 함수 symbols: 식의 해를 계산하기 위한 변수, 변수가 하나인 경우는 생략가능(자동으로 인식) flags: 계산 또는 결과의 방식을 지정하기 위한 인수들 dict=True: {x:3, y:1}같이 사전형식, 기본값 = False set=True :{(x,3),(y,1)}같이 집합형식, 기본값 = False ratioal=True : 실수를 유리수로 반환, 기본값 = False positive=True: 해들 중에 양수만을 반환, 기본값 = False 예 $x^2=1$의 해를 결정합니다. solve() 함수에 적용하기 위해서는 다음과 같이 식의 한쪽이 0이 되는 형태인 동차식으로 구성되어야 합니다. $$x^2-1=0$$ import numpy as np from sympy import * x = symbols('x') solve(x**2-1, x) [-1, 1] 위 식은 계산 과정은 다음과 같습니다. $$\begin{aligned}x^2-1=0 \rightarrow (x+1)(x-1)=0 \\ x=1 \; \text{or}\; -1\end{aligned}$$ 예 $x^4=1$의 해를 결정합니다. solve() 함수의 인수 set=True를 지정하였으므로 결과는 집합(set)형으로 반환됩니다. eq=x**4-1 solve(eq, set=True) ([x], {(-1,), (-I,), (1,), (I,)}) 위의 경우 I는 복소수입니다.즉 위 결과의 과정은 다음과 같습니다. $$x^4-1=(x^2+1)(x+1)(x-1)=0 \rightarrow x=\pm \sqrt{-1}, \; \pm 1=\pm i,\; \pm1$$ 실수