본문 바로가기

전체 글

(46)
회귀 모수 추정: 최소제곱법(OLS) 활용 오늘은 단순 선형회귀 모형의 회귀모수를 추정하는 방법을 알아보도록 하겠습니다. 회귀 모수를 찾는 대표적인 방법으로는 최소제곱법(OLS)이 있습니다. 최소제곱법은 통계적인 모수 추정 방법으로 추정량(공식)을 사용하여 추정값을 찾아내는 방식입니다. 오늘은 최소제곱법(OLS)에 대해 살펴보도록 하겠습니다. 회귀 모수란? 관측값 쌍들이 단순 선형회귀의 가정을 모두 만족한다면 회귀함수의 모수를 추정해 볼 수 있습니다. 위의 회귀 함수에서 회귀 모수는 β1과 β2입니다. 회귀 모수를 추정한 값이 b1과 b2입니다. 관측값 쌍들에 의해 회귀 모수 추정값이 변하므로 b1과 b2는 확률변수입니다. 관측값 쌍들이 모두 정해지면 추정량(공식)을 통해 추정값을 구할 수 있습니다. 회귀 모수를 추정하는 과정은 각 관측쌍들을 대..
[Python] 가우스 소거법 알고리즘 오늘은 선형대수학에서의 가우스 소거법의 의미와 방법을 알아보고 알고리즘으로 구현해 보는 시간을 갖도록 하겠습니다. 가우스 소거법이란? 가우스 소거법이란 선형대수학에서 연립일차방정식의 해를 구하는 방법입니다. 예를 들어 다음의 식을 모두 만족하는 해를 구한다고 생각해 봅시다. x + y + z = 9 2x + 4y - 3z = 1 3x + 6y - 5z = 0 가우스 소거법은 행렬 연산을 이용해 연립일차방정식의 해를 구하는 대표적인 방법 중 하나입니다. 먼저 각 미지수의 계수와 상수를 넣은 확대계수행렬을 만듭니다. 이후 기본행연산을 통해 행사다리꼴행렬로 만들어줍니다. 기본행연산이란 행렬에 다음과 같은 연산을 적용하는 것을 의미합니다. 두 행을 교환한다. 한 행에 상수배를 곱한다. 한 행에 상수배를 곱하여 ..
단순 선형회귀 모형에 관한 가정 (SR3~SR6) 오늘은 계량경제학 내의 단순 선형회귀 모형에 관한 나머지 가정들을 알아보도록 하겠습니다. 이전의 가정들을 정리해 놓은 포스팅은 밑의 링크에서 확인하실 수 있습니다. https://bigdata-doctrine.tistory.com/38 [계량경제학] 단순 선형회귀 모형에 관한 가정 (SR1~SR2) 단순 선형회귀는 X의 변화에 따른 Y의 평균적인 변화를 알아볼 수 있는 좋은 도구입니다. 하지만, 그전에 자료 값들이 특정한 조건들을 만족하는지를 살펴보아야 합니다. 특정한 조건들을 만족 bigdata-doctrine.tistory.com SR3 : 조건부 동분산 각각의 x값에 대한 무작위 오차항의 조건부 분산이 모두 동일하다는 가정입니다. 오차항은 각각의 x값에 대해 동일한 분산을 나타내야 합니다. 각각의 ..
단순 선형회귀 모형에 관한 가정 (SR1~SR2) 단순 선형회귀는 X의 변화에 따른 Y의 평균적인 변화를 알아볼 수 있는 좋은 도구입니다. 하지만, 그전에 자료 값들이 특정한 조건들을 만족하는지를 살펴보아야 합니다. 특정한 조건들을 만족하지 않는 자료 값들로 회귀 분석을 할 경우 분석의 결과는 유용하지 않을 수 있습니다. 지금부터 계량경제학 내의 단순 선형회귀 모형에 관한 가정들에 대해 알아보겠습니다. 개요 먼저 개략적으로 살펴보겠습니다. 가정들은 SR1~SR6로 이루어져 있으며, SR은 "Simple Rregresion", 즉 단순 선형회귀를 의미합니다. SR1 : 계량경제 모형 SR2 : 강 외생성 SR3 : 조건부 동분산 SR4 : 조건부적으로 상관되지 않은 오차 SR5 : 설명변수는 변화해야만 한다 SR6 : 오차 정규성(선택적) 하나하나 자세히..
[Python] ValueError: If using all scalar values, you must pass an index 간단 해결 방법 위의 오류가 떴다면 당신은 딕셔너리를 데이터프레임으로 만드는 과정에서 오류가 떴을 가능성이 높다. 오류의 내용은 데이터프레임의 모든 값이 스칼라 형태일 경우 인덱스 값을 입력해야 한다는 것이다. 스칼라란 1차원 데이터를 의미한다. 리스트로 감싸주면 2차원 데이터(벡터), 리스트 안에 또 리스트로 감싸주면 3차원 데이터(행렬)가 된다. 해결하기 위해서는 스칼라 형태를 바꾸든, 인덱스 값을 입력하든 하면 된다. 딕셔너리를 리스트로 감싸는 방법도 있다. 해결 방법 1. 인덱스 값 입력 >>> dic = {"A": "a", "B": "b", "C": "c", "D": "d"} >>> pd.DataFrame(dic, index=[0]) A B C D 0 a b c d 오류 메시지의 뜻대로 인덱스를 입력해 준다. ..
[Python] 랜덤 포레스트로 뉴스 기사 카테고리 예측 모델 생성 이 포스팅은 이전의 "네이버 기사 본문 형태소로 Bag of Words(BoW) 생성"에 이어 계속됩니다. https://bigdata-doctrine.tistory.com/35 [Python] 네이버 기사 본문 형태소로 Bag of Words(BoW) 생성 이 포스팅은 이전의 "카테고리별 네이버 기사 크롤링"에 이어 계속됩니다. https://bigdata-doctrine.tistory.com/34 [Python] 카테고리별 네이버 기사 크롤링 오늘은 네이버 기사를 카테고리별로 크롤링하여 bigdata-doctrine.tistory.com 이전 시간에는 카테고리별로 수집한 네이버 기사의 본문을 형태소 단위로 나누어 각 본문에서 등장한 형태소의 빈도수를 데이터프레임으로 정리해 보았습니다. 이번 시간에는 ..
[Python] 네이버 기사 본문 형태소로 Bag of Words(BoW) 생성 이 포스팅은 이전의 "카테고리별 네이버 기사 크롤링"에 이어 계속됩니다. https://bigdata-doctrine.tistory.com/34 [Python] 카테고리별 네이버 기사 크롤링 오늘은 네이버 기사를 카테고리별로 크롤링하여 제목, 날짜, 본문, 카테고리, 링크의 속성을 가진 데이터프레임을 만들어보겠습니다. 이후 포스팅에서는 카테고리별로 수집한 네이버 기사의 본 bigdata-doctrine.tistory.com 이전 시간에는 네이버 기사를 카테고리별로 크롤링하여 제목, 날짜, 본문, 카테고리, 링크의 속성을 가진 데이터프레임을 만들어보았습니다. 이번 시간에는 카테고리별로 수집한 네이버 기사의 본문을 형태소 단위로 나누어 각 본문에서 등장한 형태소의 빈도수를 데이터프레임으로 정리해 보겠습니다...
[Python] 카테고리별 네이버 기사 크롤링 오늘은 네이버 기사를 카테고리별로 크롤링하여 제목, 날짜, 본문, 카테고리, 링크의 속성을 가진 데이터프레임을 만들어보겠습니다. 이후 포스팅에서는 카테고리별로 수집한 네이버 기사의 본문을 형태소 단위로 나누어 각 본문에서 등장한 형태소의 빈도수를 데이터프레임으로 정리해 보겠습니다. 이후엔 그 데이터프레임을 가지고 랜덤 포레스트를 시행하여 아무 기사의 본문을 넣으면 카테고리를 예측하는 모델을 만들어보겠습니다. 한 카테고리와 페이지에서 뉴스 기사 링크 수집 일단, 각 페이지에서 뉴스 링크를 수집하는 함수를 만들어보겠습니다. import requests from bs4 import BeautifulSoup from tqdm.notebook import tqdm 기본적으로 크롤링에 필요한 모듈인 requests..

반응형