Skip to content

변수 변형

변수의 변형

비선형 변환

우리가 지금까지 한 회귀 분석은 선형모형을 이용하고 있어요. 비선형모형을 쓸 수 있는데, 비선형모형은 추정이 어려워요. 중간 정도 해결되는 해결책으로 모형은 선형 모형인데, 변수를 비선형 변환을 해서 쓰는 방법이 있습니다. 예를 들어서 $x$가 있는데 여기에 로그 함수를 씌워서 $z$를 만든다고 합시다.

$$ z = \log x $$

그러면 이 $z$를 가지고 $y$를 예측하는 선형 모형을 만들 수 있겠죠.

$$ y = a + bz $$

이것은 아래의 모형과 같습니다.

$$ y = a + b \log x $$

즉, 선형 모형에 투입하기 전에 변수를 비선형 변환해도 여전히 선형 모형으로 다룰 수 있습니다. 다만, 아래와 같은 방식은 완전히 비선형 모형이 됩니다.

$$ y = \log \big( a + bx \big) $$

로그 함수는 회귀분석에서 이런 용도로 많이 사용합니다. 왜냐하면 로그 함수는 10, 100, 1000 이런 식으로 늘어나는 값을 1, 2, 3 이런 식으로 늘어나게 바꿔줍니다. 즉 처음에 10 늘어나는 것과 나중에 1000 늘어나는 것을 똑같이 만들어주는 것이죠. 예를 들어 중고차의 경우 주행거리가 처음에는 많이 떨어지고, 나중에는 천천히 떨어지는데요 로그 함수를 이용하면 이런 관계를 나타낼 수 있습니다.

사용하는 방법은 관계식에 그냥 적용해주면 됩니다.

import numpy as np
m = ols('price ~ np.log(mileage)', df).fit()
m = lm(price ~ log(mileage), df)

Question

wordrecall.xlsx를 다운받아 열어보세요.

변수 time은 단어 암기 후 시간, prop은 단어 시험 정답률을 나타냅니다.

time을 독립변수, prop을 종속변수로 하는 모형 1로 회귀분석을 하려면 관계식을 어떻게 세워야 합니까?

  • time ~ prop
  • prop ~ time

모형 1로 회귀분석을 해보세요. 이때 R제곱은 얼마입니까?

모형 1에서 time에 로그 함수를 적용한 모형 2로 회귀분석을 하려고 합니다. 모형 2의 관계식은 어떻게 작성해야 합니까?

  • np.log(time) ~ prop
  • prop ~ np.log(time)
  • np.log(prop) ~ time
  • time ~ np.log(prop)

모형 2로 회귀분석을 해보세요. 이때 R제곱은 얼마입니까?

R제곱으로 비교할 때, 어떤 모형이 데이터를 더 잘 설명한다고 할 수 있습니까?

  • 모형 1
  • 모형 2

서열

import numpy as np
m = ols('price ~ mileage.rank()', df).fit()
m = lm(price ~ rank(mileage), df)

I 함수

아까 우리가 데미지를 계산을 할 때 데이터 자체에다가 이렇게 계산해서 넣었거든요

한창 앞에서 했었는데 사들렸는데 힘드니까 DFO의 데미지라는 컬럼을 만들어서 이거를 마이크와 데미지랑 그 다음에 아돌카 데미지랑 더해가지고 데미지라는 변수를 새로 만드는 걸 했는데 이렇게 하면 문제가 뭐냐면 데이터가 들어올 때마다 매번 이걸 합산을 해줘야 돼요

그럼 되게 귀찮거든요

그래서 어떻게 할 수 있냐

면 그 아이라는 함수가 있습니다 대문자 아이로 쓰는 함수가 있는데 가격을 예측을 하는데 대문자 아이 한 다음에 마이크와 데미지랑 아돌카 데미지를 이렇게 쌓아주면은 어떻게 되냐면은 마이크와 데미지와 아돌카 데미지를 더해서 얘네를 통째로 하나의 변수로 지급합니다 무슨 말이냐면 이거는 차이를 보신 이 아이가 없을 때는 아이가 없을 때는 마이크와 데미지 따로 아돌카 데미지 따로 들어가요

그래서 분석을 하면 마이크와 데미지 따로 기울기가 붙고 아돌카 데미지 기울기가 따로 붙습니다

이렇게 아이 함수를 써서 두 개를 합산하면 얘네 총합이 하나의 변수로 들어가요

마이크와 데미지랑 아돌카 데미지 더한 합계가 하나의 변수로 예를 들면은 여러분이 아니 뭐 내 차든 남의 차든 그 둘 다 보험 처리한 거니까 그거 그냥 합쳐가지고 총액으로 해도 되겠네

라고 생각할 수 있잖아요

이렇게 하시면 됩니다

그러면 기울기가 하나만 붙는 거죠

총액차 근데 이제 그러면 의문이 이렇게 따로 넣는 게 나아요

아니면 총액으로 넣는 게 나아요 라고 하면은 총액으로 넣으면 변수가 한 갠데 독립변수가 한 갠데 따로 넣으면 독립변수가 두 개죠

독립변수의 개수가 다른다

그럼 어떻게 한다 수정 알재고비나 AIC BIC를 보시거나 아니면 교차검증을 하는 거 여기서는 지금 수정 알재고비를 보면 수정 알재고비나 0.191이고 AIC는 395 BIC는 3915가 나옵니다

그 다음에 우리가 이거를 총합으로 분석을 할 때는 총합으로 분석할 때는 수정 알재고비나 0.152 AIC가 3917 BIC가 3924가 나옵니다

그래서 수정 알재고비나는 큰 게 좋거든요

이쪽이 좋죠

그 다음에 AIC와 BIC는 작은 게 좋습니다

3905 3917 일치라고 05중에는 05가 작죠

1호, 2호, 2호 중에는 1호가 작죠

이게 크고 작고 작고 그러니까 셋다 이쪽에서 좋아요

그래서 보험 처리한 내용은 두 개를 따로 넣는 게 합산해서 넣는 것보다 맞다 이렇게 그래서 우리가 아이암수를 써서 변수를 합산할 수 있거든

이렇게 분석을 하시구요 합산을 할 때는 합산하는 게 나으냐

안 하는 게 나으냐

이런 것도 이렇게 판정을 하시고 따라서 해보시고 네, 그렇죠

맞습니다

아, 가위야

그래서 아이암수가 있으면 이 과로 안쪽에 있는 계산을 먼저 해요

두 개를 실제로 합산을 한 다음에 하나로 뭐...

추가로 덧셈, 뺄셈, 곱셈 등의 단순 계산을 하고 싶을 때는 I 함수를 씁니다.

import numpy as np
m = ols('price ~ I(my_car_damage + other_car_damage)', df).fit()
m = lm(price ~ I(my_car_damage + other_car_damage), df)

절편의 이동

그 다음에 이제 마지막으로 이제 또 희한한 거 하나 할 거면 절편을 이동시키는 게 있습니다

절편을 이동시키는 건 또 이건 뭐냐

우리가 이제 중고차 가격 데이터를 분석을 할 때 이거를 이어 분석을 해보면 절편이 마이너스 2.1 그다음에 10의 5승 이렇게 되거든요

한 21억 원 정도 돼요

왜 이렇게 숫자가 크게 나오냐면 우리가 다루는 데이터는 대부분 한 2010년에서 2020년 사이 데이터들 여기서 선을 쭉 그어가지고 절편은 어디로 가냐면 석이 0년에 가거든요

그러면은 여기에 이제 마이너스 한 21억 원에 가

근데 어차피 우리가 지금 아반대 케이스를 가격을 논하는데 석이 0년에는 아반대 케이스리가 없어요

그죠

석이 0년은 예수님 태어나셔서 그럴 때가 아반대 석이 0년인데 동방박사 3사람이 동방에서 아반대 몰고 예수님한테 찾아러 간 거 아니잖아요

그죠 이 시기에는 어차피 아반대 케이스리가 없기 때문에 이 마이너스 21억이라는 건 그냥 직선을 그으면 여기까지 가서 닿는다는 얘기일 뿐이에요

그래서 사실 절편 자체가 큰 의미가 있진 않습니다 직선을 그으면 그냥 거기 가서 닿는다 정도의 근데 이제 사람에 따라서는 이것도 좀 의미 있는 숫자면 좋겠다

이런 경우가 있거든

예를 들면은 그래서 어떻게 하냐면 절편을 옮기는 겁니다 절편은 우리가 한 2010년쯤에 데이터를 다루니까 절편을 여기로 옮기다 절편을 석이 0년에서 석이 2000년으로 옮기다 2010년으로 옮기다 이렇게 생각할 수 있어요

그러면은 이 가격은 절편이 2010년도 가격이니까 좀 더 우리한테 의미 있는 숫자가 되거든요

그럼 어떻게 이걸 옮기냐

석이 2010년을 0으로 만들어준다

그럼 2011년은 1년이 되겠죠

2012년은 연도를 옮겨주면 돼요

석이 2010년을 우리가 0년으로 만들고 우리 멋쟁이 사자니까 4자 0년으로 바꾸다 정하면 되잖아요

일본 같은 경우는 왕 바뀌면 연호가 바뀌고 그런 것처럼 우리가 마음대로 석이 2010년을 우리는 석이 0년을 4자 0년으로 정하기로 했어요

라고 하면 그건 우리 마음이죠

물론 남들이 인정은 안 해주겠지만 그럼 우리 마음이잖아요

그럼 어떻게 하면 되니

까 2010에서 2010을 빼면 0이 됩니다

그래서 아이 함수를 써서 이어에서 2010을 빼는 거예요

그러면 원래 석이 2010년은 이 계산을 하면 4자 0년이 됩니다

2011년은 2011 빼기 2010년이니까 4자 1년이 됩니다

그래서 그렇게 해서 분석을 하면 지금 보시면 알작업이나 이런 것들은 바뀌지 않아요

그리고 기울기도 똑같이 106입니다

왜냐하면 이 선이 옮긴 게 아니라 선에서 어디를 절편으로 할까 절편의 기준점이 옮겨진 거라서 실제로 선은 똑같아요

데이터도 똑같고 달라지는 부분은 절편의 감만 달라진다 절편의 값이 원래는 마이너스 2.1 곱하기 10의 5승년 절편이 505로 바뀌었어요

이 505라는 건 뭐냐면 2010년도 우리의 4자 0년이 505입니다

2010년도 기준으로 하면 중고차 가격이 550만원 정도 되고 고 뒤로 1년 지날 때마다 160만원씩 오르다

그래서 예상체는 똑같거든요

예를 들면 2011년씩이다

그러면 505에다가 106을 더하면 610만원이 되겠죠

여기 위에서도 2011을 여기다 하면 2011 곱하기 106 더하기 minus 201만원 이렇게 해서 계산결과는 똑같은데 기준이 되는 값을 옮겨놓은 거예요

그러면 이건 어땠느냐

우리가 해기분석 결과가 있는데 이것을 조금 더 보기 좋게 만들어요.

이때 한 가지 쓰고 또 하나는 아까처럼 재고부를 하거나 할 때 1회 재고, 2회 재고, 3회 재고, 4회 재고 파는데 기준점을 어디로 잡느냐 예를 들면 중고차 가격이 2010년에서 멀어질수록 가격이 재고부로 떨어진다

이런 거를 할 때는 0이 어디냐에 따라서 떨어지는 속도가 다릅니다.

2차 함수 같은 경우는 이렇게 올라가기 때문에 0이 여기면 여기서는 원만하고 여기서는 빨리 올라가는데 만약에 석이 0년을 0으로 하면 이런 것에 올라가니까 올라가는 속도가 다르거든요.

그래서 0이 언제냐에 따라서 2차 함수는 0이 언제냐에 따라서 올라가는 속도가 다르기 때문에 그럴 때는 올라가는 속도가 제일 느린 점에서 0을 고정해준다든지 식으로 응용을 할 수 있습니다.

근데 우리의 1차식으로 할 때는 사실 분석 자체는 영향이 없고요.

근데 다만 절편을 좀 더 해석을 쉽게 만들어주시면 의미가 있습니다.

그리고 또 코드 절편을 언제 사용하느냐 사실 이거는 안 하셔도 돼요.

안 하셔도 되는데 사실 통계해서 꼭 해야 되는 건 없지만 이건 더 안 하셔도 되거든요.

왜냐하면 분석 결과가 특별히 달라지는 건 아니에요.

근데 이제 언제 사용하냐면 일단 우리 이제 보통 1차식으로 많이 하니까 1차식으로 한다 치면은 절편의 해석을 좀 더 쉽게 만들려고 하는 겁니다.

쉽게 만든다는 얘기는 무슨 얘기이냐면 우리가 지금 아반대 데이터를 분석을 하잖아요.

원래 그냥 2어로 분석을 하면 원래 2어로 분석하면 석이 0년이 절편의 기준입니다.

절편이 못 된대

요 값의 의미는 뭐냐면 절편이 이게 나온단 말이에요.

이 절편의 의미는 석이 0년 기준으로 아반대나 K3의 성균 가격이 마이너스 2.145에서 10의 5승이니까 2.145 여러분이 회사를 갔어요.

그래서 중고차 관련된 업무를 맡아서 분석을 했는데 이걸 띄워놓고 설명을 하는 거죠.

아반대나 K3 가격은 연식이 1년 바뀔 때마다 대략 160만 원 정도 변동하는 걸로 보여지고요.

import numpy as np
m = ols('price ~ I(year - 2010)', df).fit()
m = lm(price ~ I(year - 2010), df)

절편이 없는 모델

그 다음에 또 해결한 거를 하나 더 해보면 우리가 이때까지 다뤘던 데이터 중에 결과가 약간 이상했던 게 있는데 뭐냐면 신생아 체중 데이터랑 그 다음에 이제 재동거리 데이터인데 공통적인 문제가 뭐냐면 신생아 체중은 임신 0주에는 애기 체중이 0g 이에요

왜냐면 세포 하나밖에 없어요

세포 하나도 그라무지만 뭐 1g도 안 될 거 아니야

세포 하나니까 재동거리도 속도가 0이면 재동거리도 0이어야 돼요

이거는 이론적 제약이죠

이론적 제약이 있는데 우리가 임신 데이터 같은 경우에 분석을 해보면 여기 이제 절편이 보면 이제 마이너스가 나와요

이 얘기는 뭐냐면 임신 0주에 태아가 마이너스 체중을 가진다

근데 체중이 마이너스가 될 순 없잖아요

플러스 이게 이상한 결과가 나오거든요

우리가 이제 재동거리데이터 같은 경우도 지금 절편이 2.47인데 그럼 속도가 0일 때에 대입해 보면 재동거리가 2.4가 나와요

가만히 있는 차가 브레이크 번다고 앞으로 2.4 뭐 미턴지 비턴지가 튀어나가는 거니까 이게 말이 안 되거든요

근데 이제 말이 안 돼도 사실 큰 상관 없어요

왜냐하면 우리가 이제 재동거리데이터는 주차장에 멈춰 있는 차의 속도를 예상하려는 게 아니고 교통사고 같은 거 났을 때 이게 원래 지금 차가들이 꽝 부딪혔는데 브레이크 밝은 거 보니까 스키드마크가 쫙 그어져 있단 말이에요

그걸 가지고 속도를 역사하려는 거니까 과속하는 차를 잘 맞추는 게 중요하지 주차장에 서 있는 차의 속도를 예측하는 건 별로 안 중요해요

체중도 마찬가지인데 임신 0주에 태어나는 아기는 어차피 없기 때문에 이 체중을 마이너스라고 한다고 해서 사실 큰 문제는 아니고 큰 문제는 아니지만 내가 요거 또 딱 맞추고 싶다 그런 경우가 있습니다

그럴 때는 절편이 없는 모양을 만드는 데요 절편이 없는 모양은 정확하게 말하면 절편이 0인 용 절편을 강제로 0으로 만들려면 관계식을 쓸 때 0 플러스 이렇게 보면 수학적으로 말이 안 되죠

말이 안 된 게 의미가 없죠

0하고 x하고 x하고 이게 수학적인 의미의 0을 더하라는 게 아니라 0 더하기 이러면 절편을 강제로 0으로 고정을 해라

그래서 가끔 절편이 강제로 특정 값을 가져야 되는 경우에는 절편을 고정을 해주시면 그래서 우리 이제 신생아 체중 같은 경우에 여기 앞에다가 0 더하기 뒤에다 해주셔도 되고요

더하기 0하셔도 되고 0 더하기 하셔도 되는데 이렇게 하면 절편이 없어집니다

기울기만 있어요

임신 0주에는 78g 2주에는 156g 3주에는 234g 이런 식으로 늘어난다

그래서 강제로 출발점을 우리가 원래는 데이터만 가지고 데이터만 가지고 추정하면 이렇게 그어졌는데 이거를 강제로 여기로 옮겨 가지고 이렇게 그어졌죠

0 더하기 하면 절편을 없을 수 있다

근데 이거 할 때 주의하셔야 되는 거는 R제곱 계산 방법이 달라지거든요

절편이 있을 때랑 절편이 없을 때랑 R제곱 계산 기준이 다릅니다

R제곱이 약간 바뀌는데 여기 보시면 언센터일드라고 나오거든요

R제곱이 확 치는 현상이 있어요

이거랑 비교하면 그래서 R제곱이 커졌네 좋아졌네

이렇게 생각하시면 안 되고 이거는 계산 기준이 좀 다릅니다

sp = pd.read_excel('speed.xlsx')
m = ols('dist ~ 0 + speed', sp).fit()
sp = readxl.read_excel('speed.xlsx')
m = lm(dist ~ 0 + speed, sp)

절편이 있을 때와 없을 때는 R제곱 계산 방법이 다름 절편이 있을 때: R제곱 = 1 - 잔차분산 / (평균으로 예측할 때의 잔차분산) 절편이 없을 때: R제곱 = 1 - 잔차분산 / (0으로 예측할 때의 잔차분산)

이차함수

그래서 이제 아이암수를 이용하면 재고도 할 수 있거든요

왜냐하면 재고업이라는 거는 그냥 X 곱하기 X 하면 되니까 이 아이암수에다가 X의 재고업 이런 식으로 X의 이승을 시계가 넣을 수 있습니다

그래서 우리가 이때까지는 안 했는데 이런 시계식도 쓸 수가 있어요

왜냐하면 이 X의 재고업은 그냥 X 곱하기 X 하면 되죠

그래서 절편 부분은 원래 없어도 들어가는 거고 그냥 X라고 넣으면 X의 재고업을 넣어주면 2차...

그럼 이걸 이용하면 3차 암수도 만들 수 있고 4차 암수도 만들고 여러분이 어지간에서 고등학교 때 배우는 수준의 수학으로 만들 수 있는 식은 다 만들 수 있어요

여러분이 고등학교 때 내가 그래도 고등학교 때까지 수학 잘했어 라고 하시는 분들은 고등학교 때까지 배운 모든 수학을 다 회기분석에 때려놓을 수가 있어요

고등학교 때 배우는 이상한 암수도 있잖아요

3차 암수 다 회기분석에 다 집어넣을 수 있어요

여러분들이 고등학교 때까지 수학공부를 열심히 하셨으면 다 할 수 있는데 고등학교 때 열심히 했어도 지금쯤 되면 대충 다 까먹는단 말이에요

그렇죠

반쯤은 아마 고등학교 때 열심히 하셨던 분들도 지금은 반쯤 까먹으셨습니다

내년 되면 또 반 까먹고 시간 지나면 안 쓰면 자꾸 까먹거든요

어쨌든 공부했다 치면 이거를 써먹을 수가 있는 것 같습니다

2차 암수 같은 것도 우리가 회기분석에다가 넣을 수 있어요

이렇게 재고패주면 돼요

그래서 우리가 어떤 경우에 2차 암수를 쓰냐면 우리 속도 데이터 있죠

스피드쌈, 요 데이터 같은 경우에 보면 직선으로 올라가는 것처럼 보이기도 한데 약간 위쪽으로 이렇게 휘어서 올라가는 것 같기도 하고 약간 그런 느낌의 애매한 선이에요

근데 여기서 우리가 운동 에너지를 검색을 해보면 통계 하나 말고 별거 다 한다

이런 생각이 들죠

지금 뭐하니?

이런 느낌이 아마 드실 텐데 운동 에너지는 2분의 1 곱하기, 진량 곱하기 속도의 재고입니다

자동차가 브레이크를 밟으면 운동 에너지가 속도의 재고비기 때문에 마찰로 소모되는 에너지는 이 거리에 비례하거든요

근데 운동 에너지는 속도의 재고비에 비례합니다 무슨 말이냐면 브레이크를 딱 밟으면 마찰로 에너지가 소모가 되는데 그거는 거리만큼만 들어가요

근데 속도가 빨라질수록 에너지가 재고부로 늘어나기 때문에 속도가 빨를수록 그 제동거리도 재고부로 더 늘어나야 됩니다

그래서 이 그래프는 사실 2차 암수 이렇게 볼록하게 올라가는 2차 암수 형태가 되어야 돼요

그래서 회기 분석을 할 때 그냥 하면 안 되고 제동거리는 속도 이렇게 분석을 하면 조금 안 맞고 재고부로 분석을 해요

재고부로 분석하려면 어떻게 하면 되냐면 여기다가 속도에 재고부를 넣어주고 자기, 속도 아까 에너지 식을 보면 이게 없기는 한데 이게 필요해요 왜냐하면 완전하게 지금 우리가 평면에서 움직이는 게 아니겠지 1차 암도 좀 필요한 거 이렇게 분석을 해보면 원래 0.651이었는데 수정알제곱은 0.644 수정알제곱이 0.644에서 6,5,3으로 좋아지고 AIC는 417에서 410 BIC는 421에서 420 약간 늘어났어요

그러니까 이거는 조금 애매한 케이스라고 할 수는 있겠습니다

사실 우리가 제동거리에 속도만 영향을 미치는 게 아니라서 BIC로 보면 이게 2차 암 넣은 게 그렇게 좋은 거는 아닌데 어쨌든 우리가 6,5,3 그래서 수정알제곱과 AIC는 개선되고 BIC는 아카트 BIC가 제가 아까 깐깐한 지표라고 했죠

그래서 우리가 BIC보다는 보통 AIC를 많이 보고 AIC 기준으로 볼 때 아주 틱글만큼이지만 2창을 쓰는 게 조금 더 나을 수 있다

사실 물리법칙상 2창이 해야 되는데 이게 딱 물리법칙처럼 안 보이는 이유는 이게 재고비기 때문에 2차 암수하고 1차 암수하고 구별이 되려면 2차 암수는 이렇게 올라가고 1차 암수는 이렇게 올라가는데 아래쪽에서는 잘 구별이 안 됩니다

차이가 별로 안 돼 위로가야 구별이 되거든요

근데 지금 대부분 속도가 그렇게 빠르지

않은 데이터라서 이 구간에서는 사실 1차 암수랑 2차 암수랑 구별이 잘 안 돼요

엄청 과속한 데이터가 필요한데 그 과속한 데이터가 없어서 구별이 될 만큼 잘 차이가 나진 않지만 어쨌든 그래도 조금 차이가 나는 것 같아요

이렇게 하면 분석 결과가 재고비는 0.1을 곱하고 절편은 2.4고 그다음에 속도는 0.91이죠

이걸 식으로 쓰면 0.01의 속도의 재고 더하기 절편은 2.4701 그다음에 0.9133에 이게 대동거리다

이런 식이 만들어지게 그래서 우리가 이렇게 2차 암수로 우리가 대동거리를 예측을 해볼 수 있다

그래서 이것도 채팅창에 코드 올렸으니까 한번 따라서 돌려보세요 여기서부터는 사실 쉽지 않아요 갑자기 물리도 나오고 난리 났죠

이런 식도 가능하다

그래서 우리가 단순하게 더하기만 하는 게 아니라 휘어져 있는 것도 할 수 있다 따라해보시고 질문 있으시면 보통 스케터 플럿을 먼저 그려본 후에 어떻게 나오는지

확인해서 비슷한 M차 방정식으로 모델을 만들다 아니면 무조건 1차 방정식 풍체를 시작해서 각기 뭐 딱히 어떻게 무조건 만들어야 된다

이런 건 없고 일단 좀 이론적으로 생각을 해봐야겠죠

이런 거는 약간 물리 현상이니까 우리가 물리 현상이면 물리 지식을 동원해서 생각을 해볼 거고 그래서 여러분들을 특히 경제학 이런 거 보면 경제학 수식 같은 거 보면 하여간 식들이 있잖아요

경제학 수업 같은 거 들어보면 갑자기 생각하니까 그러면 그런 거는 이론적으로 유도된 식이죠

근데 보통 학부 수준의 경제학 게론 이런 거 들으면 이론적으로 식이 유도된다까지만 얘기하고 정말 그 식이랑 데이터랑 맞는지 안 해보거든요

이게 약간 경제학 수업이 제 생각에 약간 반쪽인데 실제 데이터랑 그게 얼마나 잘 맞는지 이건 회기 분석해서 보여줘야 되는데 그러면 학생들이 경제학 배우기 전에 통계학도 배워드리고 그럼 경제학도 어려운데 통계학부터 배우라고

그럼 이제 약간 다 같이 망하니까 보통 통계적인 부분은 싹 빼고 그냥 수요 공급 곡선 이런 것만 한다면 정말 그 곡선대로 사람들 행동을 하냐

하면 그렇진 않거든요

데이터랑 맞춰봐야 되잖아요

그러니까 그렇게 경제학이라든지 물리학이라든지 이런 식으로 함두 형태를 이론적으로 유도할 수 있는 분야들은 일단 유도를 해놓고 그 상태에서 한번 맞추고 근데 이제 그런 게 좀 뚜렷하지 않은 경우가 있거든요

예를 들면 심리학 같은 경우는 그게 사람 행동을 함두로 깔끔하게 만들기가 힘들어요

그러면 말씀하신 것처럼 일단 1차 함두로 한번 좀 해보고 그 다음에 이제 좀 2차 함두 일 것 같은 부분이 있으면 약간 이제 2차 함두를 하는데 보통은 약간 2차 함수는 잘 안 쓴다

왜냐하면 일단 좀 복잡해지기 때문에 모델 만들기가 되게 어렵고 그 다음에 이제 사실 대부분의 경우에는 인간한테 유래한 데이터는 1차 함수로만 해도 또 잘 맞아요

왜냐하면 약간 이게 좀 이상하다고 생각할 수 있는데 함수 형태가 너무 복잡해져 버리면 예를 들면 막 이렇게 복잡해

그러면 이거에 맞는 함수를 딱 맞는 함수를 찾기가 너무 어렵거든요

근데 대충 1차 함수로 하면 대충 맞잖아요

약간 좀 이상하게 들일 수도 있는데 너무 복잡해 버리면 너무 복잡하면 딱 맞는 거를 찾기가 힘들기 때문에 힘들어서 그냥 1차 함수로 해도 대충 맞는다 이 정도로 정리할 수 있습니다

채팅창에 그냥 써드리면 여러분들 메모하고 싶어요

이론적으로 방정식이 유도 가능한 기나들 예를 들어서 물리학이나 경제학 같은 이론적으로 유도를 하고 그게 어려우면 말씀하신 것처럼 일단 1차식 형태로 하고 2차식 3차식 등으로 확장을 하는데 보통은 1차식으로만 쓴다

약간 신기한 현상 중에 하나가 저도 예전에 어느 물리학자가 쓴 글을 보고 되게 신기하다고 생각했는데 물리 법칙 중에 물리 자연 현상이 그렇게 복잡한데도 불구하고 물리학 방정식들이 기껏해야 보통 한 3차를 넘어가는 경우가 잘 없더라고요

그래서 뭔가

되게 신기하다

뭔가 우주에 우리가 알 수 없지만 아마도 우주의 만물의 법칙이 생각보다 그렇게 복잡하지는 않을 수도 있다

이런 써를 본 적이 있는데 맞는지 아닌지는 모르겠지만 물리학의 방정식 아무리 복잡해도 그 복잡한 수식 형태가 일정 이상은 안 넘어간다는 거죠

제 생각에는 그게 우주의 법칙 때문에 그럴 수도 있지만 그냥 인간의 지적 한계일 수도 있고 잘은 모르겠어요

AI가 발전한 거 어떻게 어쨌든 우리가 대부분 통계 분석할 때 1차식 이상을 하는 경우는 잘 없습니다

2차식도 할 수는 있다

이런 어떤 아주 강한 이론적 확신이 없으면 2차식까지는 잘 안 하죠

오늘 지금 이번 시간이랑 다음 시간에 할 내용은 그냥 저런 것도 있구나 라고 생각을 하시면 될 것 같아요

사실 이런 거를 활용하기가 쉽지 않습니다

활용할 수 있는 그런 경우가 그렇게 흔하게 있진 않거든요

m = ols('dist ~ 0 + I(speed**2) + speed', sp).fit()
m = lm(dist ~ 0 + I(speed**2) + speed, df)