728x90 전체 글60 선형회귀 기초 회귀 Regression은 평균으로 회귀하는 경향이 존재한다. 데이터가 산점도 형태로 분포하고 있다고 가정해보자. 이를 회귀선으로 표현해보면 X(feature)가 특정 값을 취하는 경우 Y(target) 값을 밑의 경우와 같이 구할 수 있다. 이를 다시 표현하면, 소득이 100$에서 1000$까지 100$ 단위별로 10개의 집단이 있고 각각 집단 별로 10개의 데이터가 있다고 가정하자. 이는 다시 말하면, X는 10개의 고정된 값과 그 10개의 Y값을 가진다고 할 수 있다. 만약 X1 집단의 Y평균을 알고 싶다면, 식은 E(Y|X1)의 형태로 쓸 수 있다. E(Y|X1)를 조건부 확률값이라 하고 의미는 X1 집단에 대한 Y의 기대치로 X1 집단 내의 Y값 평균을 의미하는 것이다. 예시로 본다면 각 집단별.. 2022. 3. 24. 표본과 모집단의 이해 표본과 모집단을 그림으로 그리면 다음과 같이 표현할 수 있습니다. 분석가가 분석 목표로서 대상을 설정하는 전체를 모집단(population)이라고 하며, 조사와 통계기법을 적용한는 모집단의 일부는 표본(sample)이라 합니다. 하지만, 모집단에서 추출한 표본통계치는 결과를 예측할 수 없습니다. 그렇기에 표본통계량이 곧 확률변수(확률이 계속 변화하기 때문)로서 작용하는 것이며 이 확률변수의 확률분포는 표본분포(Sample distribution)이라고 정의합니다. 참고로 확률변수와 확률분포의 관계, 의미는 다음과 같습니다. 여기서 만약 확률변수가 동전던지기와 같이 이산적인 값을 가지게 되면 이산확률변수라 칭하며 그런 확률변수의 분포를 이산확률분포라 합니다. 물론 반대로 연속적인 값을 가지는 경우는 연속확.. 2022. 3. 21. 오차, 잔차, 편차의 차이 (기초통계) python 흔히 통계에서는 오차, 잔차, 편차에 대해 얘기하곤 합니다. 그렇다면 이 3가지의 차이는 어떻게 정의되는 것인지 살펴보도록 하겠습니다. 먼저 들어가기 앞서 데이터를 불러옵니다. (삼성전자 주가, 코스피 지수) import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import yfinance as yf # 한글폰트 출력 가능 코드 from matplotlib import rc rc('font', family='AppleGothic') # Mac Os #rc('font', family='NanumGothic') # Windows Os plt.rcParams['axes.unicode_minus'] .. 2022. 3. 19. confusion matrix (혼동행렬) python 이전 포스트에 이어서 작성하는 내용입니다. 2022.02.21 - [공부/통계학] - 로지스틱 회귀분석 (Logistic Regression) python 로지스틱 회귀분석 (Logistic Regression) python 이번에는 로지스틱 회귀분석을 시행해보겠습니다. 이 포스트에는 코드 위주로 업로드되며, 관련 이론은 다음을 참고해주세요. 2021.11.16 - [공부/통계학] - 로짓분석 로짓분석 로짓 분석을 설명하 signature95.tistory.com 혼동행렬을 모형의 정확성을 평가하는 지표로 흔히 사용됩니다. 저번 포스트 마지막에도 혼동행렬을 표시했었는데요, 이에 대해 좀 더 자세하게 공부하려 합니다. 로지스틱 회귀분석으로 특정인이 사망할 확률, 생존할 확률은 각각 p, 1-p로 구성되어 .. 2022. 3. 17. pip install 오류 (python) 최근 이런 문제가 많이 발견되었습니다. 가령, yfinace를 다운받고 해당 메세지를 출력받았는데.. !pip3 install yfinance >>> DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621 Requirement already satisfied: yfinance in /usr/local/.. 2022. 3. 6. Ridge regression (릿지 회귀) python 릿지 회귀분석은 선형회귀분석의 과대적합 문제를 해소하기 위해 L2 규제를 적용하는 방식을 사용합니다. 과대 적합은 다음과 같은 표로 해석할 수 있습니다. 전체 Error는 분산과 편향의 제곱 합으로 표시할 수 있습니다. 즉 전체 Error를 최소화하는 회귀분석이 Least Square Method, 즉 OLS인 것입니다. 밑에 식을 한번 보겠습니다. N은 데이터의 개수입니다. 만약 1000개의 샘플데이터가 있다면 N=1000이 되는 것이죠. P는 feature의 개수입니다. 단순선형회귀인 경우에는 P=1이 되고 다중회귀에서는 P가 2이상인 값을 가집니다. y는 실제 target의 값입니다. ß는 가중치로서 OLS의 feature 계수라고 보시면 됩니다. 람다는 ridge 모형의 하이퍼파라미터로 alpha.. 2022. 2. 22. 로지스틱 회귀분석 (Logistic Regression) python 이번에는 로지스틱 회귀분석을 시행해보겠습니다. 이 포스트에는 코드 위주로 업로드되며, 관련 이론은 다음을 참고해주세요. 2021.11.16 - [공부/통계학] - 로짓분석 로짓분석 로짓 분석을 설명하기 앞서 선형확률모형에 대한 언급을 하도록한다. (로짓 분석을 왜 이용하는지에 대한 배경이 되기 때문이다.) 선형확률모형 (LPM) feature(설명변수)의 값이 주어졌을 때, label( signature95.tistory.com 2021.11.17 - [공부/통계학] - 로짓모형, 프로빗모형의 추정 (+최우법) 로짓모형, 프로빗모형의 추정 (+최우법) 2021.11.16 - [공부/모델링] - 로짓분석 앞서 다룬 로짓모형 https://signature95.tistory.com/10?category=98.. 2022. 2. 21. 일원분산분석 (One-way ANOVA) python 분산 분석은 연속형 반응 변수와 범주형 설명 변수를 갖는 데이터를 분석하는 방법 중 하나입니다. 의사결정 흐름도는 다음과 같습니다. 따라서 일원 분산 분석은 연속형 target이 1개고 범주형 feature 1개를 갖는 데이터에서 그룹이 3개 이상인 경우 사용합니다. 동일한 조건에서 그룹이 2개인 경우에는 t-test를 사용합니다. t-test에 대한 포스트는 여기를 참고하시면 됩니다. 2021.11.17 - [공부/통계학] - T-test (T 검정) T-test (T 검정) t 검정의 적용은 언제 하는 것일까? https://ko.wikipedia.org/wiki/T-테스트 t-테스트 - 위키백과, 우리 모두의 백과사전 t-테스트(t-test) 또는 t-검정 또는 스튜던트 t-테스트(Student's.. 2022. 2. 15. Distribution (분포도) python 정규분포, 이항분포, t분포, 카이제곱분포 등 다양한 분포가 존재한다. 이번에는 파이썬을 활용하여 각 분포에 대해 그려보도록 한다. 정규분포 # 정규분포 그리는 함수 def normal_df(N, sigma, mu): # 라이브러리 호출 import numpy as np import scipy as sp import matplotlib.pyplot as plt import seaborn as sns # 한글폰트 출력 가능 코드 from matplotlib import rc rc('font', family='AppleGothic') # Mac Os #rc('font', family='NanumGothic') # Windows Os plt.rcParams['axes.unicode_minus'] = False.. 2022. 2. 10. Mysql 기본명령어 12 (INSERT) 이전 포스트에 이어서 작성하는 내용입니다. 2022.02.08 - [공부/mysql] - Mysql 기본명령어 11 (CASE) Mysql 기본명령어 11 (CASE) 이전포스트에 이어서 작성하는 내용입니다. 2022.02.07 - [공부/mysql] - Mysql 기본명령어 10 (날짜 연산) Mysql 기본명령어 10 (날짜 연산) 이전 포스트에 이어서 작성하는 내용입니다. 2022.02.07 - [공부/mysq signature95.tistory.com 데이터베이스 테이블에 행을 추가하는 법은 먼저 INSERT 명령어를 사용합니다. 보통 문법은 다음과 같습니다. INSERT INTO table_name VALUES (value1, value2 …) 그렇다면 빈 테이블을 하나 가져오도록 하겠습니다. .. 2022. 2. 9. 이전 1 2 3 4 5 6 다음 728x90