데이터분석응용 in R_로지스틱 회귀 pt1 이론
# 로지스틱 회귀가 뭔지 예시로 이해해보자.
# 신용 점수 보고 -> 대출의 승인/비승인 예측하기
# 걍 수능점수 보고 합/불 판단하기 이것도 된다.
# 선형회귀와의 차이점?
# 1. 선형회귀는 y값(반응 변수)이 수치형, 로지스틱 회귀는 y값이 범주형
# 그렇기에 선형회귀 y값은 -무한대에서 +무한대까지의 값 가능, 로지스틱은 0,1만
# 따라서 로지스틱에서 선형 회귀분석 불가!
# 아참. x값(예측 변수)은 차이가 있나?
# 차이없다.
# 2. 로지스틱 회귀 case에서 이항 반응 변수를 다루는 경우,
# 이항분포라서 반응변수Y의 E(X)이 ㅠ, Var(X)이 ㅠ(1-ㅠ)가 된다.
# 즉, ㅠ 값에 따라 분산이 고정된 값을 갖지 않는다.
# 그래서 더더욱더 고정된 분산값을 쓰는 선형 회귀분석을 사용할 수 없다.
# 기타 교양 지식
# 프로파일링(설명 작업) 또는 예측 작업(분류)에 사용할 수 있다.
# 그리고 처음 학습시 헷갈릴만한 PART
# 내가 헷갈렸어...!
# 처음 보면 뭔소린가 할 수 있는데,
# 이후 펼쳐지는 개념 파트 읽고 다시 와서 이 1~3을 다시 읽어봐라!
# 1. 로지스틱 회귀의 결과값은 y값이 아니다.
# 로지스틱 회귀는 어떤 입력값이 주어졌을때,
# y가 가지는 값의 종류 중 하나가 될 확률을 모델링한다.
# 이때 이 확률값은 0부터 1 사이의 값을 가진다.
# 이걸 선형회귀식(y=b0+b1x1+b2x2+...)과 연결한다.
# 2. 그렇기에 우리가 최종적으로 알고 싶어하는,
# 관심을 가져야하는 결과는 확률 p이다.
# 3. 회귀식은 x와 y 그리고 어떤 알고리즘
# (여기엔 언급x. 최대우도 추정법..)을 이용해 도출된다.
# 도출된 회귀식과 컷오프를 들고 test를 돌린다.
# 구체적으로 새로운 데이터를 도출된 회귀식에 넣어 확률 p를 추출한다.
# 이 확률p와 컷오프를 비교해 y를 결정한다.
# 4. 이론 파트에서 다뤄질 괴랄해보이는 식은
# 범주형을 어떻게든 선형회귀식으로 풀어보려는 발악에서 비롯되었다.
# 5. "4."가 가장 두드러지는 부분은 y의 값의 범위이다.
# p는 0~1값을 가진다. 오즈, 즉 p/(1-p)는 0~무한대 값을 가진다.
# 로그오즈는 이후 -무한대~+무한대 값을 가진다.
# 이론 in 이항반응변수 로지스틱
# (위에서 언급했지만 정식 표현으로 다시 쓰는 내용도 있음)
# 1. 이항반응 변수를 이용한 로지스틱 회귀에서는 통상적인 OLS 방법 사용x
# 등분산 가정이 성립되지 않기 때문
# 2. 두 개의 값 모두를 예측하게 값이 나오는 방식이 아니다.
# 두 값 중 하나에 대한 반응확률을 도출한다.
# 3. 도출된 반응확률은 이후
# 컷오프를 기준으로 한쪽은 0 또는 1이 되면, 다른쪽은 1 또는 0이 된다.
# 4. 컷오프는 확률을 분류하는 기준값이다.
# 0.5가 가장 많이 사용된다.
# 5. 오즈(odds) = p/(1-p)
# 여기서 p는 반응확률, 또는 ㅠ라고도 한다.
# 오즈는 0에서 무한대까지의 값을 갖음
# 아직은 -범위가 없어서 선형 회귀분석의 종속변수로 사용 불가다.

# 6. 로그오즈 = 로짓(logit)
# -무한대~+무한대 값의 범위를 가진다.
# 이제는 선형 회귀분석의 종속변수로 사용 가능하다.

# 7. 감이 안올 분들을 위해.. 확률p, 오즈, 로짓의 관계표 첨부

# 8. 다시 말해, 0 또는 1이면 선형회귀로는 모형 fitting할 수 없다.
# 그래서 종속변수가 0 또는 1일 될 확률(0~1 사이의 값)를 빼와서
# 그 확률을 오즈(0~무한대 사이의 값)로 바꾸고,
# 오즈에 로그를 씌워서 로그오즈(-무한대~+무한대)로 바꾸고,
# 그것은 선형회귀식이다!!!하는거다.
# 그리고 이러한 과정을 우리는 로짓변환이라고 한다.

# 9. 이제 다음의 그림을 보자.
# 이게 먼 그림이냐 할 수 있는데,
# 아래의 그림은 p(8.에서 말한 종속변수가 0또는 1이 될 확률)를
# y축으로 해서 그림을 그린것이다.

# 10. p를 중심으로 8.의 식을 재정리하면 아래와 같다.

# 10번까지 왔으면 다시 돌아가 8번과 9번의 이미지를 다시 보고,
# 마지막으로 내가 앞에 써두었던 < # 그리고 처음 학습시 헷갈릴만한 PART>를 다시 읽어봐라
# 이정도면 이해될 것 같다.
# 왜냐면 이쯤되니 나도 드디어 뭔가 제대로 이해가 갔기 때문이다.
# 모르면 gpt와 치고 박고 물어봐라.
# 난 내가 이해한걸 gpt의 검증을 철저히 거치며 내 말로 최대한 쉽게 풀어써봤다.
# 11. 컷오프 결정시 고려 사항
# - 분류 정확도 극대화
# - 민감도 최대화(최소 특이도 수준에 따라 달라질 수 있음)
# - 오류 최소화(최대 오류율에 따라 달라질 수 있음)
# - 오분류로 인한 예상 비용 최소화(비용을 명시해야함)
# 11번의 세부 용어들은 뭐지?하는 분들을 위해..
# 분류 성능 평가
# - True Positive (TP) : 실제 True인 정답을 True라고 예측(정답)
# - False Positive(FP) : 실제 False인 정답을 True라고 예측(오답)
# - False Negative(FN) : 실제 True인 정답을 False라고 예측(오답)
# - True Negative(TN) : 실제 False인 정답을 False라고 예측(정답)

# 위 4가지 지표들을 이용해
# 정확도/정밀도/재현율 또는 민감도/특이도/F1 Score를 구한다.
# (프로파일링을 위한) 오즈 관점의 결과 해석

# 선형회귀에서 했던것처럼 b
# 나머지 변수들은 고정하고 xn 변수 한단위 증가시키면 전체 오즈는 e^Bn배가 된다.
# 끗
# +
# 다중 클래스 분류에 대한 로지스틱 회귀는
# 아직 안해서 다음에 다루는걸로,,