본문 바로가기
Data Analysis

[ChatGPT] GPT-4를 사용한 다중회귀분석

by Urban communicator 2023. 11. 16.

이 블로그에서 예시로 진행했던 회귀분석을 GPT-4를 사용해서 진행해 봤다.

과연 어떻게 분석해줄지 너무 궁금했는데, 과정과 결과가 너무나 놀라웠다..

이제 통계에 대한 아주 간단한 지식만 있으면

누구나 분석을 진행할 수 있는 시대가 온 것이다..

(논문 쓰며 개고생했던 지난 날이 왜 갑자기 떠오르는지..)

ㅜㅜ 

 

그런데,

이게 과연 어떤 영향을 줄지 누구도 예측할 수 없겠지만..

여튼 중요한 건 어줍짢은 실력으로 나대지 말고

계속해서 발전하는 AI를 뒤쫓아가야 한다는 것!

 

이것저것 새로운 것을 두려워하지 말고 

열심히 배우고 공부하고 학습하고 적용해봐야겠다. 

 

지금부터는 회귀분석을 요청했을 때 GPT-4가 

어떤 식으로 작동하는지 보여줄 것이다. 

보시는 분들 모두

어떻게 질문하는 것이 효과적일지 한번 생각해보고

고민해 보시길.

 


 

이 연구에서 사용한 데이터는 샘플데이터로 보험회사가 취합한 나이, 성, BMI, 흡연여부, 지역, 비용 데이터를 사용한다. 데이터는 아래에서 다운받을 수 있다. 

insurance.csv
0.05MB

 

 

먼저, 유료버전의 ChatGPT(GPT-4)를 사용하면 다음과 같은 화면을 찾을 수 있다. 

 

Explore를 누르면 아래와 같은 화면이 나타난다. 여기는 내가 만든 GPTs와 OpenAI에서 만들어서 공유하는 몇 가지 GPTs를 보여준다. 회귀분석을 위해 사용하는 GPTs는 Data Analysis이다. 

 

Data Analysis를 누르면 다음과 같은 화면이 나타나면서 아무 파일이나 드롭해서 올리라고 알려준다. 

 

여기에 위에서 다운받은 insurance.csv 파일을 올린다. 그러면 GPTs가 잘했다고 칭찬하면서;; 어떻게 도와줄지 묻는다.

어떤 데이터가 있는지 모른다는 걸 가정하고, 먼저 기술통계를 보여달라고 명령했다. 

 

 

놀랍지 않은가? 친절하게 각 변수의 기술통계를 나열해준다. 약간 흥미가 당기기 시작했다. 그래서 곧바로 다중회귀분석을 돌려보기로 한다. 보험료를 종속변수로 하는 다중회귀분석을 돌리고 결과를 보여달라고 했다. 

 

 

다중회귀분석을 돌리기 위한 전처리를 알아서 파악하고 해준다. 변수의 종류부터 알아서 구분한다. 연속형 변수(수치형 변수)인 age, bmi, children과 범주형 변수인 sex, smoker, region을 구분하고, 범주형 변수는 원-핫 인코딩을 알아서 돌려준다. 원-핫 인코딩에 대한 설명도 센스있게 덧붙여 주었다. 

 

전처리를 마친 후에는 알아서 다중회귀분석을 돌려주었다. 처음 질문에서 결과만 알려달라고 했기 때문인지, RMSE와 R2만 도출해준다. 다중회귀분석을 돌리는 이유는 모형이 어떠한지 보다는 해석을 하기 위해 회귀계수와 같은 결과를 아는 것이 중요하다. 그래서 회귀계수를 다시 물었다. 

 

약간의 로딩이 걸렸지만 빠른 속도로 처리해서 결과를 보여주었다. 다중회귀분석 모델에서 도출된 회귀식을 보여주고, 종속변수와의 관계가 어떠한지 예를 들어 설명해준다. 놀랍다. 너무 쉽다. 뭐 별 데이터가 아니라고 하지만 전처리부터 회귀분석 결과까지 너무나 쉽게 답을 도출할 수 있다. 연구 시작 단계에서 결과를 미리 보고 싶을 때 수행하면 너무나 좋을 것 같다. 

 

 

그러면 이제 다음 단계를 진행해보자. 회귀분석은 만족해야 하는 몇 가지 통계적 가정이 있다. 통계적 가정을 만족하지 않은 결과는 유의한 결과로 받아들이기 어려우므로 이 모델이 통계적 가정을 만족하는지 물어보았다. 과연 GPT-4는 통계적 가정을 어떻게 검증해 줄 것인가?

 

물론 가능했다. 약간의 이론적인 설명도 덧붙인다. 통계적 가정에 무엇이 있는지 설명해주고, 각각의 가정을 만족하는지 살펴봐준다. 이 과정에서 알아서 그래프도 그려준다 ㅡ,.ㅡ 

 

 

 

대단하지 않은가? 그런데 결과 해석이 좀 맘에 들지 않는다. 내가 보기엔  정규성 가정을 만족하지 못하는 것으로 보이기 때문이다. 마지막에 보면 정규성 가정에서 약간의 위반 가능성이 있으므로 이에 대한 추가적인 검토가 필요하다고 권한다. 그래서 추가적인 검토를 할 수 있는지 물었다. 

 

역시 전혀 문제없이 검토하고 문제를 제기한다. 어떻게 해결할 수 있는지 방법도 제안해 준다. 

 

 

 

그래서 모델의 정규성을 만족할 때까지 이상치 제거, 변수 변환, 비선형 관계 문제를 해결해 주고, 전처리되어 회귀가정을 만족한 데이터를 가지고 다중회귀 분석을 다시 수행해달라고 명령했다. 그리고 그걸 수식으로 표현하는 것까지. 

 

아래 결과는 위에서 명령한 내용을 GPT-4가 알아서 수행한 결과를 보여준다. 정말 놀랍지 않은가? 모델의 성능이 훨씬 좋아졌음을 확인할 수 있었다. 

 


 

오늘은 회귀분석만 간단하게 수행해 봤다. 

어떤가?

그냥 데이터 분석만 해서는 미래가 없다. 

어떤 전략을 가지고 미래 커리어를 개발해야 할까? 

 

모두 긍정적인 방향으로 답을 찾고 해결해 가기를 바라며..

 

'Data Analysis' 카테고리의 다른 글

[Python] 가상환경 설정  (0) 2024.10.08
[ChatGPT] ChatGPT의 개요  (0) 2023.11.16
[Spatial analysis] 공간정보의 이해  (1) 2023.10.27
[Spatial Analysis] 공간 데이터 분석은?  (0) 2023.10.12
[통계] 구조방정식(2)  (0) 2023.02.07

댓글