| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- gensim 3.7.3 설치 오류
- 운영체제의 미래
- 출력
- 레지스터
- 운영체제의 발달 과정
- 국립과천과학관
- 프로그래밍
- 미래 사회의 단위
- 선택
- 반복 구조 찾기
- 운영체제 목적
- 소프트웨어 시대
- 뿌..
- 말 인용
- 처리
- 소프트웨어
- 겁나 많아
- 해결 방안
- 앨런 튜링
- 공부정리
- 절차적 사고
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 딥러닝
- 순서도
- 절차적 사고의 장점
- 기계어
- 운영체제 서비스
- 컴퓨터
- 패킷트레이서 이용
- Today
- Total
hye-_
로지스틱회귀분석 본문
로지스틱회귀분석의 이해
- 정의 (누가 만들었고 무엇인가)
- 핵심 개념 (확률 예측 vs 직접 예측)
- 선형회귀 vs 로지스틱 차이
- 확률식 정의 (p, 1-p)
- 분류 기준 (0.5 기준)
- 가정사항 5가지
로지스틱 회귀의 정의
로지스틱회귀분석은 영국의 통계학자인 D.R.Cox가 1985년에 제안한 확률 모델로서 두 개의 값만을 가지는 종속변수와 독립변수들 간의 인과관계를 로지스틱 함수를 이용하여 추정하는 통계 기법이며, 어떤 사건(Event)이 발생할 지에 대한 직접 예측이 아니라 그 사건이 발생할 확률을 예측하게 된다.
즉, “이 모델은 값을 맞추는 게 아니라 확률을 계산하는 모델이다”
왜?
왜 로지스틱 회귀는 “값(0 or 1)”을 직접 맞추지 않고 “확률”을 예측하냐면,
종속변수 Y가 0과 1처럼 이산값(discrete value)일 때는 평균이나 직선으로 예측하면
예측값이 0~1 범위를 벗어나거나 해석이 불가능해지기 때문에,
확률이라는 개념으로 바꿔서 0~1 사이로 제한된 예측을 하기 위해서다.
- 로지스틱 회귀 (Logistic Regression)
→ 확률을 예측하는 회귀 모델 - 종속변수 (Dependent Variable, Y)
→ 결과값 (여기서는 0 or 1) - 독립변수 (Independent Variable, X)
→ 입력값 (설명 변수) - Event (사건)
→ 보통 “1이 되는 경우 (성공)” - 로지스틱 함수 (Logistic Function)
→ 확률로 변환하는 함수 (S자 형태)
수식

예시
시험 합격 예측:
- 공부시간 10시간 → p = 0.2 (불합격 가능성 큼)
- 공부시간 50시간 → p = 0.9 (합격 가능성 큼)
이 모델은 “합격/불합격”을 직접 예측하는 게 아니라
“합격할 확률”을 먼저 계산한다
따라서 회귀분석이라는 명칭과 달리 회귀 문제와 분류 문제 모두에 사용할 수 있다.
이름은 “회귀”지만 실제로는 분류 문제에도 사용된다
왜?
왜냐하면 출력값이 연속값이 아니라
확률 → 0 or 1로 바뀌면서 분류 문제로 변환되기 때문이다.
즉, 구조는 회귀인데 결과는 분류라서 둘 다 가능하다.
- 회귀 (Regression) → 숫자 예측
- 분류 (Classification) → 범주 예측
예시
- 회귀: 집값 = 3억
- 분류: 스팸 / 정상
로지스틱:
→ 확률 0.8 → 스팸으로 분류
종속변수 Y가 성공(1)과 실패(0) 2가지 값(범주)을 가졌다고 할 때, 선형회귀는 하나의 회귀선으로 명확하게 성공(1)과 실패(0)를 분류하지 못한다.
선형회귀는 0/1 분류 문제에 부적합하다
왜?
왜냐하면 선형회귀는 직선이기 때문에
출력값이 0~1을 넘어가거나,
0.3, 0.7 같은 애매한 값이 나오고
명확한 경계선(decision boundary)을 만들 수 없기 때문이다.
선형회귀
이 식은 0~1 제한 없음 → 문제 발생
예시
- x=100 → y=1.5 (불가능한 확률)
- x=0 → y=-0.2 (말 안됨)
하지만 로지스틱 회귀는 하나의 회귀선으로 성공(1)과 실패(0)를 명확하게 분류할 수 있게 된다.
로지스틱은 S곡선으로 확률을 만들어서 분류 가능하다
왜?
왜냐하면 로지스틱 함수는
출력을 항상 0~1 사이로 제한하고
중간에 결정 경계(보통 0.5)를 만들 수 있기 때문이다.
- 선형 → 직선
- 로지스틱 → S곡선
즉, 예측된 확률에 따라 가능성이 더 높은 범주로 분류하는 지도학습 기반의 알고리즘으로 정리할 수 있다.
확률 계산 → 더 큰 쪽 선택 → 분류
왜?
왜냐하면 확률이 0.7이면
“성공 가능성이 더 크다”는 의미이므로
결정 규칙에 따라 1로 분류하는 것이다.
- 지도학습 (Supervised Learning)
→ 정답이 있는 데이터로 학습
p = P(성공 | k개의 독립변수), k개의 독립변수가 주어졌을 때의 1인 확률.
조건부 확률 정의
왜?
왜냐하면 독립변수 X들이 주어졌을 때
그 조건에서 Y=1이 될 확률을 계산하는 모델이기 때문이다.
수식

1-p = P(실패 | k개의 독립변수), k개의 독립변수가 주어졌을 때의 0인 확률.
실패 확률
왜?
전체 확률은 항상 1이기 때문에
성공 + 실패 = 1 이어야 한다.
로지스틱회귀분석은 여러 독립변수들로부터 두 범주만을 가지는 종속변수를 예측하는데 사용하며, 분석결과 종속변수값, 즉 확률이 0.5보다 크면 그 사건이 일어나며, 0.5보다 작으면 그 사건이 일어나지 않는 것으로 예측한다.
0.5 기준으로 분류한다
왜?
왜냐하면 0.5는
두 클래스 확률이 동일한 기준점이며
그 이상이면 한쪽이 더 가능성이 크기 때문이다.
예시
- p = 0.7 → 1 (성공)
- p = 0.3 → 0 (실패)
가정사항
1) 변수 형태
- 독립변수: 연속 or 범주
- 종속변수: 반드시 범주형(0/1)
왜?
→ 확률 모델이기 때문에 결과는 이진이어야 한다
2) 이항분포 + 대표본
- 이항분포 (Binomial Distribution)
- n ≥ 30
왜?
→ 확률 추정 안정성 확보 + 중심극한정리 활용
3) 선형성 (로짓 기준)
로짓(Logit):
왜?
→ 확률 자체는 비선형이라
로그 변환해서 선형 관계로 만든다
“로짓값(log(p/(1-p)))이 선형이다”
순서
선형식 → 로짓 → 확률 → 분류

4) 다중공선성 없음
왜?
→ 변수끼리 겹치면 계수 추정 불안정
5) 독립성
왜?
→ 데이터가 서로 영향을 주면 확률 계산이 깨짐
로지스틱회귀분석은 "정규성"을 만족하지 않아도 되기 때문에 판별분석에 비해 쉽게 적용이 가능하다
왜?
왜냐하면 판별분석은
데이터가 정규분포를 따라야 하지만
로지스틱은
확률 기반 모델 (Likelihood 기반)이라
정규성 가정이 필요 없기 때문이다.
정리
로지스틱 회귀 =
“선형식 → 확률로 변환 → 0.5 기준으로 분류”
로지스틱회귀의 종류
- 로지스틱 회귀 확장 (이항 → 다항 → 서수)
- 이항 로지스틱
- 다항 로지스틱
- 서수 로지스틱
- 실전 예시 (통신사)
일반적으로 로지스틱회귀는 종속변수가 이항형 문제(유효한 범주의 개수가 두 개인 경우)를 지칭할 때 사용하지만, 이외에도 두 개 이상의 범주를 가지는 문제가 대상인 경우와 복수의 범주이면서 순서가 존재하는 경우에도 사용할 수 있다.
로지스틱 회귀는 기본적으로 2개 분류지만
여러 개 + 순서 있는 경우까지 확장 가능하다
왜?
왜 로지스틱 회귀가 이항뿐 아니라 다항, 서수까지 확장되냐면,
이 모델은 본질적으로 “확률을 출력하는 구조”이기 때문에
출력 확률을 여러 개로 나누거나 누적 확률 형태로 변형하면
다양한 형태의 분류 문제를 동일한 수학적 틀 안에서 처리할 수 있기 때문이다.
- 이항 (Binary) → 2개
- 다항 (Multinomial) → 3개 이상 (순서 없음)
- 서수 (Ordinal) → 3개 이상 (순서 있음)
예시
- 이항: 합격 / 불합격
- 다항: 맑음 / 흐림 / 비
- 서수: A / B / C
로지스틱회귀의 종류 1) 이항 로지스틱회귀 :
종속변수 결과가 2개의 범주(집단)인 경우, 예: 성공, 실패 등.
출력이 0 또는 1 두 개뿐인 가장 기본 모델
왜?
로지스틱 함수는 하나의 확률 p만 구하면
나머지는 1-p로 자동 결정되기 때문에
구조적으로 2개 클래스 문제에 가장 적합하다.
수식
확률 정의:

로짓(Logit) 수식

- log → 로그 (곱 → 덧셈 변환)
- odds = p / (1 - p) → 성공/실패 비율
- logit → log(odds)
확률로 변환된 최종식

예시
- p = 0.8 → 성공
- p = 0.2 → 실패
스팸메일 분류
로지스틱회귀의 종류 2) 다항 로지스틱회귀 :
종속변수 결과가 두 개 이상의 범주(집단)인 경우 = 분화 로지스틱 회귀, 예: 맑음, 흐름, 비 등.
클래스가 3개 이상이고
서로 순서가 없는 경우
왜?
현실 문제는 2개가 아니라 여러 선택지 중 하나를 고르는 경우가 많기 때문에
각 클래스별 확률을 따로 계산해서 비교해야 하기 때문이다.
수식 (Softmax)

(여기서 Σ는 모든 클래스 k에 대한 합)
풀어서 쓰면

용어
- exp(x) = e^x → 지수함수
- Softmax → 확률 합을 1로 만드는 함수
- βⱼ → j번째 클래스의 계수
예시
날씨 예측:
- 맑음: 0.6
- 흐림: 0.3
- 비: 0.1
가장 큰 값 선택 → 맑음
로지스틱회귀의 종류 3) 서수 로지스틱회귀 :
종속변수 결과가 두 개 이상의 범주(집단)이면서 순서가 존재하는 경우, 예: A등급, B등급, C등급.
클래스는 여러 개인데
순서까지 존재하는 경우
왜?
단순 다항 로지스틱은
A, B, C를 서로 독립적인 범주로 보기 때문에
A > B > C 같은 순서 정보를 반영하지 못해서 정보 손실이 발생하기 때문이다.
수식 (누적 로짓)

- P(Y ≤ j) → j 이하일 확률 (누적 확률)
- θⱼ → 임계값 (threshold)
- βX → 선형결합
예시
등급 예측:
- A > B > C
"B 이상일 확률" 이런 식으로 계산
예를 들어, 통신사의 경우 2년 약정 종료 후 번호이동으로 타 통신사로 갈 것인지, 기기변경으로 남을 것인지에 대한 분류 문제를 판단하고자 할 때 로지스틱회귀가 활용될 수 있다.
현실에서 고객 이탈 예측 문제에 사용
왜?
고객 행동은
“이탈 vs 유지” 같은 이항 문제로 표현 가능하고
확률 기반 예측이 마케팅 전략에 직접 활용되기 때문이다.
- 번호이동 → 통신사 변경
- 기기변경 → 유지
예시
모델 결과:
- 이탈 확률 = 0.75
할인 제공 → 고객 유지
로지스틱회귀분석의 원리
선형회귀는 왜 안됨? → 이유: 범위 안 맞음 , 로그도 부족 → 연결함수 필요 → 로짓 등장 → 통계 vs 머신러닝 차이
종속변수 Y가 범주형 변수일 경우, 일반적인 선형회귀 모델로는 범주값을 추정할 수 없다.
종속변수 Y(Dependent Variable, 우리가 예측하려는 값)가 범주형 변수, 즉 0 또는 1처럼 “딱 떨어지는 값(discrete category)”일 경우에는, 일반적인 선형회귀(Linear Regression) 모델을 사용해서 그 값을 제대로 예측할 수 없다
왜?
선형회귀는 연속형 값(continuous value)을 예측하도록 설계된 모델이기 때문에 출력값이 특정 범주로 제한되지 않고 실수 전체 범위로 자유롭게 퍼지는데, 범주형 변수는 반드시 특정 값(0 또는 1)만 가져야 하므로 구조적으로 맞지 않아 예측 자체가 의미를 잃어버리기 때문이다.
- 종속변수 Y: 결과 변수 (output)
- 범주형 변수: 값이 종류로 나뉨 (0,1)
- 선형회귀: ( Y = beta_0 + beta_1 X )
선형회귀 수식

예시
합격 여부(Y=0,1)를 예측하는데 선형회귀 쓰면 결과가 0.3, 1.7 이런 값이 나와서 “합격 170%” 같은 말도 안 되는 결과가 나온다.
이유는 종속 변수 Y는 1과 0으로 이루어져 있고, 선형회귀 모델은 (-)무한대에서 (+)무한대 사이의 값을 가지기 때문이다.
Y는 0 또는 1이라는 제한된 값만 가지는데, 선형회귀의 출력은 -∞부터 +∞까지 아무 값이나 나올 수 있기 때문에 둘의 구조가 맞지 않는다
왜?
선형식은 직선 형태이기 때문에 입력값 X가 커지면 출력 Y도 계속 증가하고, 작아지면 계속 감소해서 제한 없이 퍼지게 되는데, 확률이나 범주는 반드시 0과 1 사이에 있어야 하므로 모델의 출력 범위가 완전히 어긋나게 된다.
- (-)무한대: -∞ (끝없이 작음)
- (+)무한대: +∞ (끝없이 큼)
- 범위(range): 값이 존재할 수 있는 구간
수식

예시
선형회귀 결과가 -2, 3 이런 값이 나오면 확률이나 범주로 해석이 불가능해진다.
따라서 독립변수가 (-)무한대에서 (+)무한대에 포함되는 어떤 숫자이든 상관없이 종속변수값이 항상 [0,1]사이의 범위에 있도록 하거나, 범주형 변수를 (-)무한대에서 (+)무한대의 값으로 변환해주어야 한다(회귀식의 값과 종속변수 값의 범위 일치).
이 문제를 해결하려면 두 가지 방법이 있는데, 하나는 결과값을 0~1 사이로 제한하거나, 반대로 범주형 값을 무한대 범위로 변환해서 선형회귀와 맞춰야 한다
왜?
회귀식의 좌항(Y)과 우항(βX)의 값 범위가 다르면 수식 자체가 성립하지 않기 때문에 반드시 두 값의 범위를 동일한 공간으로 맞춰야 모델이 정상적으로 작동할 수 있기 때문이다.
- 독립변수 X: 입력 변수
- 좌항: Y (결과)
- 우항: βX (설명식)
- 범위 일치: scale matching
수식

예시
확률 0.8을 그대로 쓰지 말고 → 변환해서 선형모델이 처리할 수 있게 만들어야 한다.
좌항과 우항의 값을 (-)무한대에서 (+)무한대로 일치시키기 위해 범주형 값을 가진 좌항에 자연로그를 취하였음에도 Log(P(X))는 (-)무한대의 값은 가질 수 있으나 (+)무한대의 값을 가질 수 없다.
확률에 로그(log)를 씌워서 범위를 넓히려고 했지만, 여전히 +∞까지는 가지 못해서 문제가 해결되지 않는다
왜?
확률 P는 0~1 사이 값이기 때문에 log(P)는 항상 0 이하 값만 나오며, 1에 가까워져도 log값은 0에 가까워질 뿐 +∞로 확장되지 않아서 선형회귀의 범위를 완전히 만족시키지 못한다.
- log: 로그 (logarithm)
- ln: 자연로그 (base e)
- P(X): 확률
수식

예시
P=0.9 → log(0.9) = -0.1
→ 절대 +∞로 안 감
따라서 (+)무한대로 만들어주는 과정이 필요하다.
그래서 결국 확률을 +∞까지 확장할 수 있도록 추가적인 변환이 반드시 필요하다
왜?
선형회귀는 입력값과 출력값이 모두 (-∞, +∞) 범위를 가져야 제대로 작동하기 때문에, 확률을 이 범위로 완전히 펼쳐주는 변환이 없으면 모델 자체가 성립하지 않기 때문이다.
- 변환(transform): 값의 형태를 바꾸는 것
수식
목표:

예시
확률 0.99 → 매우 큰 양수
확률 0.01 → 매우 큰 음수
이렇게 만들어야 한다.
이러한 역할을 하는 함수를 연결 함수(Link Function)라 하고 범주형 종속변수 집단의(0과1) 각 확률을 연속형 척도로 변환하여 종속변수와 독립변수의 관계를 선형회귀분석을 활용해 모델링할 수 있게 해 준다.
이렇게 확률을 선형모델에 맞게 변환해주는 함수를 “연결함수(Link Function)”라고 부르고, 이걸 통해 선형회귀를 적용할 수 있게 만든다
왜?
확률 자체는 선형모델에 넣을 수 없기 때문에, 중간에 변환함수를 둬서 “확률 ↔ 선형식”을 연결해야 모델이 성립하고 학습이 가능해지기 때문이다.
- Link Function: 연결 함수
- 연속형 척도: 끊김 없는 값
수식

예시
확률 → 변환 → 선형식 적용 가능 구조
로지스틱회귀분석의 연결 함수는 로지스틱 함수이며, 오즈(Odds)를 로짓(Logit)변환 함으로써 정의된다.
로지스틱 회귀에서는 오즈를 로그로 변환한 “로짓(Logit)”을 연결함수로 사용한다는 뜻이다.


수식

예시
P=0.5 → logit=0
P→1 → +∞
P→0 → -∞
일반적으로 좌항(범주형 0,1의 값)을 무한대로 변환시켜 분석에 사용하는 것은 통계학에서 활용되고, 우항(회귀식)을 0~1의 확률로 변환하여 사용하는 것은 머신러닝 분야에서 활용한다.
통계에서는 Y를 변환해서 선형모델에 넣고, 머신러닝에서는 반대로 선형식 결과를 확률로 바꿔서 해석한다는 뜻이다.
왜?
통계는 모델의 수식 구조를 유지하는 데 초점을 두고, 머신러닝은 최종 결과를 “확률”로 해석하는 데 초점을 두기 때문에 변환 방향이 서로 반대가 된다.
- sigmoid: 확률 변환 함수
수식

둘은 다른 방법이 아니라 “같은 모델을 보는 관점이 다를 뿐”이다
- 통계학 관점 log(odds)를 선형으로 만듦
- 머신러닝 관점 선형값을 확률로 변환함
전체 흐름 (하나의 모델, 두 방향)
공통 기반 (둘 다 동일)

이건 동일 (선형결합)
통계학 흐름 (Logit 중심)
"확률 → log(odds) → 선형화"
흐름

해석
- 좌항: log(odds)
- 우항: 선형식
확률을 직접 다루기 힘드니까
log(odds)로 바꿔서 선형 모델 적용
의미
“확률을 설명하기 위해 변환해서 선형 모델을 만든다”
분석 중심
해석 중심 (계수 해석 가능)
즉, 확률 p를 log(odds)로 변환하는 것
머신러닝 흐름 (Sigmoid 중심)
"선형값 → 확률"
흐름

해석
- 입력: 선형값 (z)
- 출력: 확률 (p)
시그모이드가 확률로 변환
의미
“모델 출력값을 확률로 만들기 위해 함수 적용”
예측 중심
분류 중심
즉, 선형결합(z)을 시그모이드로 변환
차이
| 구분 | 통계학 | 머신러닝 |
| 방향 | 확률 → log(odds) | 선형값 → 확률 |
| 핵심 함수 | logit | sigmoid |
| 목적 | 해석 | 예측 |
| 시점 | 모델 수식 정의 | 모델 출력 |
이 둘은 완전히 같은 식이다:

서로 역함수 관계
통계는 “왜 이런 모델이냐”를 설명하고, 머신러닝은 “그래서 어떻게 예측하냐”를 본다
연결 함수와 역연결 함수
- logit = 연결 함수
- sigmoid = 역연결 함수
통계 (GLM: 일반화 선형모형)
여기서 “연결 함수” 정의:

이게 바로 logit (로짓 함수)
확률(p)을 선형모델(z)과 연결해줌
그래서 이름이
link function (연결 함수)
sigmoid는 뭐냐? (차이)

이건 inverse link function (역연결 함수)
정리
| 개념 | 함수 | 역할 |
| 연결 함수 (link) | logit | 확률 → 선형 |
| 역연결 함수 | sigmoid | 선형 → 확률 |
왜 이렇게 나누냐
GLM 구조:

- (g): 연결 함수 (logit)
- (E[Y]): 기대값 (확률 p)
머신러닝은 반대로 씀:

정리,
logit은 “모델을 만들 때 쓰는 함수”, sigmoid는 “예측값을 확률로 바꿀 때 쓰는 함수”
오즈(Odds)의 정의
오즈(Odds)는 어떤 사건이 일어날 확률을 그 사건이 일어나지 않을 확률로 나눈 값이며, 특정 사건이 발생할 확률에 대한 그 사건이 발생하지 않을 확률의 비율을 의미한다.
오즈(Odds)는 어떤 사건(event)이 “발생할 확률(probability)”을 “발생하지 않을 확률”로 나눈 값으로, 결국 발생 vs 비발생의 상대적인 크기를 비교하는 비율(ratio)이다.
왜?
단순 확률 p만 보면 사건이 얼마나 강하게 일어나는지 직관적으로 비교하기 어려운데, 발생확률과 미발생확률을 직접 나누면 “얼마나 더 잘 일어나는지”를 상대적인 배수 형태로 표현할 수 있어서 해석이 훨씬 명확해지기 때문이다.
- Odds: 승산, 비율
- probability(p): 확률
- ratio: 비율 (나눗셈 결과)
- 사건(event): 어떤 결과 발생 여부
수식

예시
합격 확률 p=0.8이면
→ 오즈 = 0.8 / 0.2 = 4
→ “합격이 불합격보다 4배 더 자주 발생한다”는 의미다.
종속변수Y가 성공(1)일 때, 오즈의 값의 범위는 Odds(Y=1) = p/1-p , p:(y=1|X ) 0 ≤ 오즈(Odds) ≤ ∞ 식으로 표현되며 오즈는 0에서 (+)무한대 사이의 값을 가지게 한다.
Y가 성공(1)일 때 오즈는 p/(1-p)로 표현되고, 그 값은 0 이상부터 무한대까지의 범위를 가진다
왜?
확률 p는 0≤p≤1 범위를 가지는데, 이 값을 p/(1-p) 형태로 바꾸면 p가 1에 가까워질수록 분모(1-p)가 0에 가까워지면서 값이 끝없이 커져서 전체 범위가 0부터 무한대까지 확장되기 때문이다.
- Y=1: 성공(success)
- p = P(Y=1|X): X가 주어졌을 때 Y=1일 조건부확률
- | : “given” (조건부 의미)
- ∞: 무한대
수식

예시
p=0 → 0/1 = 0
p=0.5 → 1
p=0.99 → 99
→ 확률이 커질수록 오즈가 급격히 증가한다.
오즈는 0에서 무한대의 값을 가질 수 있으나, 음수의 값을 가질 수는 없다.
오즈는 0 이상 값만 가질 수 있고, 절대로 음수는 될 수 없다
왜?
확률 p와 (1-p)는 둘 다 0 이상인 값이기 때문에, 양수 ÷ 양수 구조에서 나오는 결과는 항상 0 이상이며 음수가 나올 수 있는 구조 자체가 존재하지 않기 때문이다.
- 음수: 0보다 작은 값
- 양수: 0보다 큰 값
수식

예시
확률은 -0.3 같은 값이 존재하지 않기 때문에 오즈도 음수로 내려갈 수 없다.
확률과의 관계식에 있어서, 확률이 0.5일 경우의 오즈는 1이 되며, 확률이 0에서 0.5사이일 경우는 오즈값의 범위는 0에서 1 사이의 값을 가지고, 확률이 0.5에서 1 사이일 경우는 1에서 무한대 사이의 오즈값을 가지게 된다.
확률이 0.5이면 오즈는 1이고, 확률이 0.5보다 작으면 오즈는 1보다 작고, 0.5보다 크면 오즈는 1보다 커진다
왜?
p=0.5일 때는 분자와 분모가 같아서 값이 1이 되고, p<0.5이면 분자가 더 작아서 1보다 작아지고, p>0.5이면 분자가 더 커져서 1보다 커지는 구조가 되어 자연스럽게 0.5를 기준으로 오즈가 나뉘기 때문이다.
- 기준값(threshold): 0.5
- 대칭 구조: 0.5 기준으로 나뉨
수식

예시
- p=0.2 → 0.2/0.8 = 0.25 (<1)
- p=0.5 → 1
- p=0.8 → 4 (>1)
특히 0.9 이상의 확률에서는 매우 큰 오즈값을 가지게 되며, 이러한 불균형성 때문에 단순히 오즈를 기초로 분석을 실시하면 결과를 왜곡시킬 수 있다.
확률이 0.9처럼 1에 가까워지면 오즈 값이 급격히 커지기 때문에, 오즈 자체로 분석하면 결과가 한쪽으로 치우쳐 왜곡될 수 있다
왜?
확률은 0~1 사이에서 비교적 안정적으로 변하지만 오즈는 p가 1에 가까워질수록 분모(1-p)가 거의 0이 되면서 값이 폭발적으로 증가하는 비선형 구조를 가지기 때문에 작은 확률 차이도 매우 큰 값 차이로 확대되어 모델이 특정 구간에 과도하게 민감해지기 때문이다.
- 불균형성: 값이 한쪽으로 치우치는 현상
- 왜곡(distortion): 실제보다 과장된 해석
- 비선형(non-linear): 일정 비율로 증가하지 않음
수식

예시
p=0.8 → 오즈 4
p=0.9 → 오즈 9
p=0.99 → 오즈 99
→ 확률은 조금 증가했는데 오즈는 폭발적으로 증가한다.
로짓 정의
로짓은 오즈에 로그를 취한 값으로, 오즈의 비대칭성을 대칭으로 변환해주는 과정으로 정의할 수 있다.
로짓(Logit)은 오즈(Odds)에 로그(logarithm)를 취한 값으로, 원래 한쪽으로 치우쳐 있는 오즈의 구조를 좌우 대칭적인 형태로 바꿔주는 변환 과정이다.
왜?
오즈는 0에서 +∞까지의 범위를 가지면서 특히 1에 가까운 확률에서 값이 급격히 커지는 비대칭적 구조를 가지기 때문에, 그대로 사용하면 특정 구간에서 값이 과도하게 커져 해석과 모델링이 어려워지는데, 로그를 취하면 값이 압축되면서 큰 값은 줄어들고 작은 값은 늘어나서 중심(0)을 기준으로 대칭적인 분포 형태를 만들어주기 때문이다.
- Logit: log(odds)
- Odds: ( {p}/{1-p} )
- log: 로그 (보통 자연로그 ln, 밑 e 사용)
- 비대칭성: 한쪽으로 치우친 구조
- 대칭성: 좌우 균형 구조
수식

예시
- p=0.2 → odds=0.25 → logit ≈ -1.39
- p=0.8 → odds=4 → logit ≈ +1.39
→ 양쪽이 0 기준으로 대칭이 된다.
오즈의 0의 값을 무한대 값으로 변환하여 (-)무한대에서 (+)무한대 사이의 값을 가지게 하며, 범주형 종속변수를 로짓변환하면 선형회귀식으로 종속변수 Y에 대한 값을 추정할 수 있게 된다.
로짓 변환을 하면 오즈의 범위(0~∞)가 (-∞~+∞)로 확장되어, 범주형 종속변수를 선형회귀식 형태로 다룰 수 있게 된다
왜?
선형회귀는 입력과 출력이 모두 (-∞~+∞) 범위를 가져야 정상적으로 작동하는데, 오즈는 0~∞라서 음수 영역이 없기 때문에 선형모델에 직접 넣을 수 없고, 로그를 취하면 0에 가까운 값은 큰 음수가 되고 큰 값은 양수가 되면서 전체 범위가 (-∞~+∞)로 확장되어 선형회귀 구조에 정확히 맞게 변환되기 때문이다.
- 범주형 종속변수: 0/1 형태의 결과값
- 로짓변환: log(odds) 적용
- 선형회귀식: ( Y = beta_0 + beta_1 X )
- 추정(estimation): 값을 계산해내는 것
수식
(로짓을 선형식으로 표현)

예시
- p=0.01 → odds≈0.01 → logit≈ -4.6 (큰 음수)
- p=0.5 → logit=0
- p=0.99 → logit≈ +4.6 (큰 양수)
→ 이렇게 (-∞, +∞) 범위로 펼쳐지기 때문에 선형회귀 적용 가능해진다.
“오즈는 0~∞라서 선형모델 못 쓰는데 → log(odds) 하면 (-∞~+∞)로 바뀌어서 선형회귀 가능해진다”
로지스틱 함수의 정의
로지스틱 함수는 로짓(Logit)의 역함수이다.
로지스틱 함수(Logistic Function)는 로짓(Logit)이라는 함수의 반대 방향으로 작용하는 함수로, 로짓이 확률을 무한대 범위로 변환했다면 로지스틱 함수는 그 무한대 값을 다시 확률로 되돌리는 함수라는 뜻이다.
왜?
로짓은 확률 p를 (-∞, +∞) 범위로 펼쳐서 선형회귀에 넣기 위해 사용되지만, 최종적으로 우리가 원하는 것은 다시 “확률값(0~1)”이기 때문에, 이 변환을 되돌려주는 역함수(inverse function)가 반드시 필요하기 때문이다.
- 역함수(inverse function): 입력과 출력을 반대로 뒤집는 함수
- Logistic Function: 확률로 변환하는 함수
수식

예시
logit 값 z = 0 → p = 0.5
→ 다시 확률로 돌아온다.
즉, 음의 무한대부터 양의 무한대까지의 값을 가지는 입력 변수를 0부터 1사이의 값을 가지는 출력변수로 변환하는 역할을 한다.
입력값이 -∞부터 +∞까지 어떤 값이든 상관없이, 그 값을 0과 1 사이의 확률로 바꿔주는 함수라는 뜻이다.
왜?
선형회귀 결과값은 무한대 범위를 가지기 때문에 그대로는 확률로 사용할 수 없고, 이를 확률로 해석하려면 반드시 0~1 사이로 압축하는 함수가 필요하며 로지스틱 함수가 이 역할을 수행하기 때문이다.
- 입력 변수(input): z = β₀ + β₁X
- 출력 변수(output): 확률 p
- e: 자연상수(약 2.718)
수식

예시
z = -10 → p ≈ 0
z = 0 → p = 0.5
z = 10 → p ≈ 1
로지스틱 함수는 연결 함수의 한 종류인 시그모이드 함수와 동의어임을 기억하자.
로지스틱 함수는 시그모이드(sigmoid) 함수와 같은 의미로 사용된다
왜?
로지스틱 함수는 S자 형태(sigmoid shape)를 가지는 대표적인 함수이기 때문에, 같은 구조를 가진 함수들을 통틀어 시그모이드 함수라고 부르고 그중 가장 대표적인 것이 로지스틱 함수이기 때문이다.
- Sigmoid: S자 형태 함수
- Link Function: 연결 함수
- Logistic = Sigmoid (같은 의미로 사용됨)
수식

예시
그래프가 S자 형태로 완만하게 증가하는 형태
로지스틱회귀분석을 이용한 1과 0 클래스 발생 확률 도출 사례 : 이커머스 사이트에서 물건의 구매여부(Y)가 월소득(X_1)과 성별(X_2)에 의해 결정된다고 했을 때, 월 400만원의 월급을 받는 사람의 구매(1) 확률을 구해보자.
- 절편 ( beta_0 = 0.5 )
- 월소득 계수 ( beta_1 = -0.01 )
- 성별 계수 ( beta_2 = -1.1 )
- 입력값
- ( X_1 = 400 ) (월소득)
- ( X_2 = 1 ) (남자)
1단계: 선형식 ( z ) 계산

2단계: 오즈(Odds) 계산

z값이 -4.6이라는 것은 log(odds)가 매우 큰 음수라는 의미이고, 이는 odds가 1보다 훨씬 작다는 뜻이며 결국 구매 확률이 거의 0에 가깝다는 것을 의미하기 때문이다.
3단계: 확률 ( p ) 계산 (로지스틱 함수)

선형식 결과 z는 확률이 아니기 때문에, 반드시 sigmoid 함수를 통해 확률로 변환해야 해석이 가능하기 때문이다.
4단계: 해석
- 오즈 ≈ 0.01
구매 : 비구매 = 0.01 : 1
즉, 구매가 훨씬 적음 - 확률 ≈ 0.009
약 0.9% 확률로 구매
로지스틱회귀분석의 회귀계수와 적합성 검정
선형회귀 vs 로지스틱회귀 차이
계수 추정 방법 차이 (OLS vs MLE)
검정 방법 차이 (t/F vs Wald/우도)
설명력 지표 차이 (R² vs pseudo R²)
선형회귀 vs 로지스틱회귀
연속형 종속변수값 예측 vs 비연속형 종속변수의 범주 예측
선형회귀는 연속값(continuous value)을 예측하고, 로지스틱회귀는 범주(0/1)를 예측한다
왜?
선형회귀는 출력이 (-∞~+∞)라서 숫자 예측에 적합하고, 로지스틱은 sigmoid를 통해 0~1 확률로 변환해서 분류 문제에 맞게 설계되어 있기 때문이다.
- 연속형: 끊김 없는 값
- 비연속형: 0,1 같은 범주
- 분류(Classification): 카테고리 맞추기
수식

예시
- 선형: 집값 예측
- 로지스틱: 구매 여부 (0/1)
최소제곱법 vs 최대가능도(우도) 추정법
선형회귀는 최소제곱법(OLS), 로지스틱은 최대우도추정(MLE)을 사용한다.
왜?
선형회귀는 “오차 최소화” 문제지만, 로지스틱은 확률 모델이라서 “데이터가 나올 확률을 최대화”하는 방식으로 계수를 추정해야 하기 때문이다.
- OLS: Ordinary Least Squares (오차 제곱 최소화)
- MLE: Maximum Likelihood Estimation (우도 최대화)
수식

예시
- 선형: 오차 줄이는 방향
- 로지스틱: “이 데이터 나올 확률 최대”
t검정 vs 왈드(Wald) 통계량
선형회귀는 t검정으로 계수 검정하고, 로지스틱은 Wald 검정을 사용한다.
왜?
선형회귀는 정규분포 가정이라 t검정 가능하지만, 로지스틱은 확률모델이라 계수 분포가 다르고 카이제곱 기반 검정을 사용하기 때문이다.
- t-test: 평균 비교
- Wald: 계수 유의성 검정
- χ²: 카이제곱 분포
수식

예시
β가 0인지 판단 → 영향 있는 변수인지 확인
분산분석(F검정) vs 로그우도 + 카이제곱
선형은 F검정으로 모델 검정, 로지스틱은 로그우도 기반 검정을 사용한다.
왜?
선형은 분산 분해 구조지만, 로지스틱은 확률 기반이라 우도(likelihood)를 기준으로 모델 적합도를 평가하기 때문이다.
- Likelihood: 데이터가 나올 확률
- log(L): 로그우도
- -2LL: 카이제곱 변환
수식

예시
모델이 데이터 잘 설명하는지 판단
결정계수(R²) vs 맥파든 의사결정계수(R² pseudo)
선형은 R², 로지스틱은 pseudo R²를 사용한다.
왜?
로지스틱은 분산 개념이 없어서 기존 R² 정의를 사용할 수 없기 때문에 “비슷한 개념”만 만든 것이다.
- R²: 설명력
- pseudo R²: 유사 설명력
수식

예시
값이 1에 가까울수록 모델 좋음 (하지만 선형 R²처럼 해석하면 안 됨)
단순회귀분석, 다중회귀분석에서 모델에 대한 검정을 위해 분산분석표의 F검정을 활용하였다.
선형회귀에서는 모델 전체를 평가할 때 F검정을 사용한다
왜?
회귀모델이 “설명력 있는지”는 전체 분산 중 설명된 부분이 의미 있는지로 판단하기 때문이다.
수식

로지스틱회귀분석에서는 모델에 대한 검정으로 로그우도를 활용한다.
로지스틱에서는 우도 기반으로 모델을 평가한다.
왜?
확률 모델이기 때문에 “데이터가 나올 가능성” 자체가 성능 기준이 되기 때문이다.
최대가능도(우도) 추정법
데이터가 나올 확률을 가장 크게 만드는 β 찾기
왜?
확률 모델에서는 오차 개념보다 “발생 가능성”이 더 중요하기 때문
수식

Wald 통계량
β가 0인지 검정
왜?
변수가 의미 있는지 판단하려면 0과 차이 있는지 봐야 하기 때문
수식

로그우도 함수 log(L)
우도에 로그 씌운 값
왜?
곱을 합으로 바꿔 계산 쉽게 만들기 때문
특징

-2log(L)
카이제곱 분포 형태로 바꾼 값
왜?
통계 검정하기 위해서 분포 맞추는 과정
특징
작을수록 모델 좋음
맥파든 의사결정계수
로지스틱용 R²
왜?
기존 R² 못 쓰니까 대체 지표 만든 것
호스머-레메쇼 검정
예측값 vs 실제값 비교
왜?
모델이 실제 데이터 패턴을 잘 따르는지 확인하기 위해
정리
선형회귀
- OLS
- t, F
- R²
로지스틱회귀
- MLE
- Wald
- log(L), -2LL
- pseudo R²
정리,
“선형은 오차 기반, 로지스틱은 확률(우도) 기반이다”
로지스틱회귀분석 모델 적합성 검정 사례
데이터셋 설명
유방암 진단 사진으로부터 측정한 종양(Tumor)의 특징값을 사용하여 종양이 양성(Benign)인지 악성(Malignant)인지를 판별한 결과를 가진 데이터셋(569건)
종양의 특징(크기, 질감 등)을 입력으로 넣어서, 결과(Y)가 양성/악성인지 판단하는 분류 문제다.
로지스틱 회귀는 “확률 기반 분류 모델”이라서 이런 0/1 문제에 사용된다.
- Benign: 양성 (문제 없음)
- Malignant: 악성 (암)
- Target(Y): 정답 변수
수식

예시
X = 종양 크기 → Y = 암 여부
로지스틱 회귀식
Logit(p) = Log(P(X)/(1-P(X))) = 0.64 + 20.18X₁ -1.07X₂ -24.47X₃
확률 p를 바로 구하는 게 아니라, 먼저 logit(로그 오즈)을 선형식으로 계산한다
왜?
확률은 0~1이라 선형모델 못 쓰니까 → logit으로 바꿔서 (-∞~∞)로 만든다.
- Logit: log(odds)
- Odds: ( \frac{p}{1-p} )
예시
X₁ 증가 → logit 증가 → 확률 증가
로지스틱 함수
Logistic(z) = 1 / (1 + exp(-z))
선형식 결과 z를 확률로 바꾸는 함수다.
왜?
logit은 확률이 아니기 때문에 반드시 0~1로 다시 변환해야 한다.
- exp: ( e^x )
- sigmoid: S자 함수
수식

예시
z=2 → p≈0.88
z=-2 → p≈0.12
확률 계산 과정
Log(P/(1-P)) = 2.28
입력값 넣어서 logit 값이 2.28 나온 상태
왜?
선형식 먼저 계산해야 확률 변환 가능
Logistic(z) = 0.91
의미
최종 확률 91%
왜?
z=2.28 → sigmoid 넣으면 확률로 바뀜
예시
“양성일 확률 91%”
exp(2.28) = 2.28배
odds = 2.28 → 양성이 악성보다 2.28배 높다
왜?
logit = log(odds)라서 exp 하면 다시 odds 됨
수식

회귀계수
coef (계수)
의미
변수가 결과에 미치는 영향 크기
왜?
계수 크기로 영향력 판단
예시
- X₁: +20 → 영향 매우 큼
- X₃: -24 → 반대로 강하게 작용
std err
의미
계수의 불확실성 (표준오차)
왜?
값이 클수록 불안정한 추정
z 값
의미
계수 ÷ 표준오차
왜?
“계수가 0과 얼마나 떨어져 있는지” 측정
수식

P>|z|
의미
p값 (유의확률)
왜?
이 값이 작으면 변수 영향 있음
기준
p < 0.05 → 유의함
가설검정
귀무가설(H₀): β = 0
변수가 영향 없다
왜?
0이면 모델에 기여 안 함
결과
p값 0.000
귀무가설 기각 → 변수 영향 있음
모델 전체 결과
Pseudo R² = 0.6894
의미
모델 설명력 약 68%
왜?
로지스틱은 R² 대신 pseudo 사용
해석
꽤 좋은 모델
Log-Likelihood = -93.22
의미
모델 적합도
왜?
우도 기반 모델이라 확률로 평가
특징
0에 가까울수록 좋음
LLR p-value
의미
모델 전체 유의성
왜?
모델이 의미 있는지 확인
결과
거의 0 → 모델 좋음
구조
순서
- logit 계산
- exp → odds
- sigmoid → 확률
- p값 → 변수 유의성
- pseudo R² → 모델 설명력
- log-likelihood → 모델 적합도
“로지스틱 회귀는 logit → odds → 확률 → p값 → 모델 평가 순서로 해석한다”
'3. 빅데이터 모델링 > 분석 기법 적용' 카테고리의 다른 글
| 인공신경망 (0) | 2026.03.22 |
|---|---|
| 의사결정나무 (0) | 2026.03.20 |
| 비선형회귀와 규제가 있는 회귀분석, 일반화 선형 모델 (1) | 2026.03.19 |
| 단순회귀분석 (0) | 2026.03.13 |
| 다중회귀분석 (0) | 2026.03.13 |