R, 빅데이터 분석 실험(15)
-
로지스틱 회귀 분석
방금까지는 종속 변수가 연속적인 값이었다. 각각의 독립변수와 종속변수의 관계식을 만들고 해당 관계식에 독립변수의 값을 넣는다면? 종속변수가 몇일지 예측할 수 있었다. '주식의 시가가 60000원이고 최고가가 70000원이었으니 주식의 종가가 71230원일 것이다'처럼 예측할 수 있었다. 하지만 시험 점수에 따른 불합격 여부를 예측하라고 한다면 이러한 선형 회귀가 예측할 수 있을까? 종속 변수는 1(합격), 0(불합격) 뿐이다. 답은 절대로 사용하면 안된다. why? 선형 회귀 모델은 확률을 예측하도록 설계된 모델이 아니라 값을 예측하도록 설계된 모델이기 때문이다. 가능한 결과 값(종속 변수)의 값이 (-INF, INF) 이다. 따라서 가능한 결과값이 (0, 1) 사이가 되도록 모델을 설계해야한다. 베르누..
2023.10.21 -
[R] online updating problem
기존의 값으로 선형 회귀 분석을 끝냈다. 하지만 빅데이터는 계속 쌓이는데 이걸 실시간으로 업데이트 할 수는 없는걸까? 가능하다! 이전 massive data problem을 풀며 X^tX , X^ty 를 모아 한번에 계산하면 분할해서 합치는 것이나 한번에 하는것이나 동일함을 알아보았다. A와 B 행렬을 정의하고 해당 행렬에 각각 X^tX , X^ty 모아둔다. 그후 기존에 A,B 와 new X^tX , X^ty 를 각각 더한다. A,B 로 다시 선형회귀를 진행하면 된다. 예시로 주식에 대해 생각해보자 1년동안 주식 데이터를 모아 이를 통해 선형 회귀 분석을 하고 1년주기로 A와 B행렬을 업데이트하며 다시 분석하면 된다. install.packages("quantmod") library(quantmod) ..
2023.10.21 -
massive data는 어떻게 선형회귀분석을 적용할까?
massive data는 행이 많은 상태. (너무 많아서 저장이 불가능한 정도라고 가정하자) 이떄 우리는 분할 정복 알고리즘을 통해 이를 해결할 수 있다. 1. 10년치 데이터 있다고 치면 1년단위로 데이터를 쪼게서 저장한다. 2. 1년치 데이터를 계산한다. 3. 결과를 합한다. 여기서 가장 중요한 점은 이렇게 구한 결과가 나누기 전과 동일하도록 보장시켜야한다는 것이다. 이전 선형회귀에 대한 글을 생각해보자 (Xibi-yi)^2 를 모두 더한걸 우리는 미분했었다. 그래서 편미분의 결과로 나오는 p*1 행렬은 -2X^t(Xb-y) 를 통해 구했다. 그래도 결과로 나오는 행렬의 크기는 p*1 이다. y = a0 + xa1 꼴을 생각해보자 식이 n개 있다면 결과로 나오는 행렬은 아래와 같다. 1항 : 2(a..
2023.10.21 -
linear regression analysis
시카고 공항 결항 문제. 날씨가 너무 자주 바뀐다. 날씨에 관한 데이터를 받아 날씨를 예측하려 한다. 하지만 데이터가 너무 많아서 1년치씩 받아야했다. sample size가 매우 클때 어떻게 해야하는가? 이 문제를 해결하기전에 linear regression anlysis에 대해 알아보자. linear regression anlysis 종속 변수와 독립 변수가 선형적인 관계를 가진다고 가정하여 종속변수를 예측하거나 각 독립변수가 얼마나 영향을 주는지 β를 구할 수 있다. 2차원에서 이를 생각해보자 yi =β0 +β1xi1 +εi xi와 yi 에 대해 선형 방정식을 세울 수 있다. xi가 2개일 때 3차원 상에서 이렇게 최적의 1차 다항식을 구할 수 있다. OLS(ordinary least squares..
2023.10.21 -
[R] lm함수를 통한 선형 회귀, 분할 정복을 통한 선형 회귀
1. lm 함수로 구하기 setwd('/Users/bagjeong-yong/desktop/bigdataA/data') data1
2023.10.21 -
[R] 기본 문법 및 주요 함수
1. 열 벡터 정의 밑 참조 a
2023.10.21