상관관계 : 상관관계란 두 변량 사이에서 한 변량의 변화에 따라 다른 변량이 선형적으로 함께 변화하는 관계이다.
인과관계 해야되면 회귀분석 해야되는 듯 ??
마이크로SSA모델?? 에이전트 하나 만들어ㅓ둔 후 그거롤 돈을 벌으래~
공분산 (covariance)

- 두 확률변수 x, y가 함께 어떻게 변하는지를 나타내는 통계량
- cov(x, y) = 0 : 선형적인 관계 없음 = 상관관계가 없다고 판단
- cov(x, y) > 0 : 한 변수가 증가할 때 다른 변수도 증가하는 경향 = 양의 상관관계
- cov(x, y) < 0 : 한 변수가 증가할 때 다른 변수는 감소하는 경향 = 음의 상관관계
- 한쪽이 높으면 한쪽이 낮으면 => 상관관계 가짐 = 음의 상관관계
상관 분석
두 변수가 선형적으로 얼마나 밀접하게 관련되어 있는지를 수치로 나타내기 위한 분석 방법
- 목적
→ 두 변수 간 선형적 관계의 방향과 정도를 파악 - 도구
→ 상관계수(Correlation Coefficient) 사용
선형적 관계를 보기 위해서 공분산을 보게 되는데
공분산은 값보다 부등호에 관심을 가진다 상관관계
상관관계의 유형 (산점도 기준)
(1) 양의 상관관계
- 한 변수가 증가하면 다른 변수도 증가
- 산점도: 오른쪽 위 방향으로 증
- 상관계수: r>0
(2) 음의 상관관계
- 한 변수가 증가하면 다른 변수는 감소
- 산점도: 오른쪽 아래 방향
- 상관계수: r<0
(3) 무상관
- 선형적 관계 없음
- 산점도: 점들이 무작위로 분포
- 상관계수: r≈0
피어슨 상관계수

- 연속형 변수 간의 선형 관계를 측정
- 상관계수의 절댓값이 클수록 선형 관계가 강함
- 비선형 관계는 측정 불가
- 이상치(outlier)에 민감
스피어만 상관계수

- 두 변수의 순위(Rank) 간 상관관계 측정
- 서열 데이터 또는 비정규 데이터에 적합
- 비선형이지만 단조(monotonic) 관계도 측정 가능
- 이상치에 비교적 강함
- 연속형이 아니어도 가능
상관계수 값해석
| 상관 관계 값 | 해석 |
| ±1 | 완전한 선형 상관 |
| ±0.7 이상 | 강한 상관 |
| ±0.3 ~ 0.7 | 중간 상관 |
| 0 ~ ±0.3 | 약한 상관 |
| 0 | 선형적 상관 없음 |


연속형인지, 이산형인지, 범주(명목)형인지 꼭 확인해보아야한다
변수의미통계적 분류이유
| 변수 | 의미 | 통계적 분류 | 이유 |
| mpg | 연비 | 연속형 | 실수값, 측정값 |
| cyl | 실린더 수 | 이산형 | 4,6,8 개 |
| disp | 배기량 | 연속형 | 연속적인 용적 |
| hp | 마력 | 연속형 | 측정값 |
| drat | 후륜비 | 연속형 | 비율 |
| wt | 무게 | 연속형 | 실수 |
| qsec | 1/4마일 시간 | 연속형 | 시간 |
| vs | 엔진형태 (0/1) | 범주형(명목) | 코드값 |
| am | 변속기 (0=자동,1=수동) | 범주형(명목) | 숫자지만 의미 없음 |
| gear | 기어 수 | 이산형 | 개수 |
| carb | 카뷰레터 수 | 이산형 | 개수 |


공분산 = -320.73
- 음수(–)이므로
연비(mpg)가 증가할수록 마력(hp)은 감소하는 경향 - 단, 공분산은 단위의 영향을 받기 때문에
- 값의 크기 자체로 “강하다/약하다”를 판단하긴 어려움
- 두 변수는 음의 관계를 가진다
피어슨 상관계수 r = -0.776
- 범위: -1 ≤ r ≤ 1
- 구간해석
구간 해석 ±0.7 이상 강한 상관관계 ±0.4 ~ 0.7 중간 ±0.4 미만 약함 - mpg와 hp의 상관계수는 -0.776으로 나타났으며, 이는 연비가 높을수록 마력이 낮아지는 강한 음의 선형 상관관계가 있음을 의미한다.
cor.test()
일부 데이터(표본)로 계산한 상관관계를 모집단으로 일반화할 수 있는지 확인하는 함수
즉,
- 표본 상관계수 r = -0.776 이
- 단순히 샘플 우연인지,
- 아니면 모집단에서도 0이 아닌 상관관계가 있다고 말할 수 있는지
이걸 가설검정으로 확인하는 함수임
cor.test(a, b, method = "pearson")

import pandas as pd
import matplotlib.pyplot as plt
realEstate = [83, 83, 83.5, 83.8, 83.9, 83.7, 84.3, 84.6, 85.2, 85.7, 85.7, 85.7, 86.3
, 86.8, 87.4, 87.4, 87.4, 87.4, 87.6, 88.2, 88.8, 89.4, 89.7, 89.9, 90.5
, 91.1, 92, 92.7, 93.3, 93.8, 94.7, 95.4, 96, 96.4, 96.4, 95.8, 95.7
, 95.8, 95.7, 95.7, 95.7, 96, 96.6, 97.2, 98.1, 98.8, 98.9, 98.6, 98.3
, 98.5, 98.7, 98.6, 98.9, 99.4, 100.1, 100.2, 100.3, 100.3, 100, 99.6
, 99.8, 100.1, 100.2, 100.2, 99.9, 99.7, 99.6, 100.8, 102.2, 102.4
, 101.6, 100.8, 100.3, 99.9, 99.2, 99, 98.8, 99.1, 99.6, 99.9, 100.3
, 100.8, 101.7, 102.7, 103.4, 104.7, 105.5, 105.5, 106.3, 108.3, 110.7
, 112, 112.9, 114.4, 117, 119.8, 122.9, 125.1, 126.7, 128.3, 130.5
, 133.4, 136.5, 139.7, 142.3, 143.8, 143, 141.6, 140.7, 140.6, 141.1
, 141.8, 140.5, 139.8, 136.1, 133.4, 130.6, 126.2, 121.1]
interestRate = [2.75, 2.75, 2.75, 2.75, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5
, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.25, 2.25, 2, 2, 2, 2, 2, 1.75, 1.75
, 1.75, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.25
, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25
, 1.25, 1.25, 1.25, 1.25, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5
, 1.5, 1.5, 1.5, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.5
, 1.5, 1.5, 1.25, 1.25, 1.25, 1.25, 1.25, 0.75, 0.75, 0.5, 0.5, 0.5
, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5
, 0.75, 0.75, 0.75, 1, 1, 1.25, 1.25, 1.25, 1.5, 1.75, 1.75, 2.25, 2.5, 2.5
, 3, 3.25]
data = {'부동산' : realEstate,'금리' :interestRate }
df = pd.DataFrame(data)
coef = df.corr(method='pearson')
print(coef)

heatmap (히트맵)
: 상관관계를 표현하는 방법
#상관계수를 그래프로 표현
#
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 1. 상관계수 계산 (이미 하신 부분)
coef = df.corr(method='pearson')
import matplotlib.font_manager as fm
import warnings
# 1. 모든 경고 메시지 무시 (선택 사항)
warnings.filterwarnings('ignore')
# 2. 한글 폰트 설정 (Windows: 맑은 고딕)
# 만약 Mac이라면 'AppleGothic'으로 수정하세요.
font_name = "Malgun Gothic"
plt.rcParams['font.family'] = font_name
# 3. 유니코드 마이너스 깨짐 설정 (매우 중요)
plt.rcParams['axes.unicode_minus'] = False
# 2. 히트맵 시각화 설정
plt.figure(figsize=(10, 8)) # 그래프 크기 설정
# annot=True: 격자 안에 숫자 표시
# cmap='coolwarm': 낮은 값은 파란색, 높은 값은 빨간색으로 표시
# fmt=".2f": 소수점 둘째 자리까지 표시
sns.heatmap(coef, annot=True, cmap='coolwarm', fmt=".2f", linewidths=0.5)
plt.title('Correlation Heatmap of mtcars')
plt.show()


정답 3번 : 공분산으로는 강도를 판단할 수 없기 때문

정답 3번 : 상관분석은 인과관계를 산출하지 못하는 방법이다 .
추론통계학
: 수집된 자료를 이용해 대상 집단(모집단)에 대한 의사결정을 하는 것으로, Sample(표본)을 통해 모집단을 추정하는 통계 기법 기술 통계를 활용한 추론이 이루어짐
| 모수추정 | 표본 집단으로 부터 모집단의 특성인 모수를 분석하여 모집단을 추론 - 모평균 - 모분산 σ² : 모집단 데이터가 평균 μ를 중심으로 얼마나 퍼져 있는지 - 모비율 |
| 가설 검정 | 대상 집단에 대해 특정한 가설을 설정한 후에 그 가설이 옳은지 그른지에 대한 채택여부를 결정하 |
| 예측 | 미래의 불확실성을 해결해 효율적인 의사결정을 하기 위해 활용한다.(예: 회귀분석, 시계열 분석등의 방법) |
데이터에서 어떤 관계의 규칙성을 먼저 확인하고, 그 규칙이 존재한다고 판단되면 이를 바탕으로 모집단을 추정함
=>
- 표본 데이터를 통해 관계의 규칙성을 탐색
- 해당 관계가 통계적으로 유의하다고 판단되면
- 이를 모형으로 가정하여 모집단을 추정
모수 추정 및 가설 검정

모집단 → 표본추출 → 표본 → 통계량 계산 → 표본분포 활용 → 추론 → 모수 추정
정규분포
모집단이라면 이런 규칙이 있다고 봄 -> 이걸로 모수 추정 할 수 있겠다 !
| 범위 | 의미 | 비율 |
| 평균 ± 1σ | 1편차 범위 | 약 68% |
| 평균 ± 2σ | 2편차 범위 | 약 95% |
| 평균 ± 3σ | 3편차 범위 | 약 99.7% |
문제 ) 평균 = 80점 / 표준편차 = 5점 일 때 확인해보기 ~
① 1편차 범위 (±1σ) : 80±5
-> 75점 ~ 85점
-> 전체의 약 68%
② 2편차 범위 (±2σ) : 80±10
-> 70점 ~ 90점
-> 전체의 약 95%
③ 3편차 범위 (±3σ) : 80±15
-> 65점 ~ 95점
-> 전체의 99.7%
표본 확률분포
- 표본에서 계산한 통계량(예: 표본평균, 표본비율)이
- 확률적으로 어떻게 변하는지를 나타낸 분포
- 개별 데이터의 분포 X
- 통계량의 분포 O
표본 평균은 중심 극한 정리(CLT) 분포를 따른다
중심 극한 정리 (표본확률분포도)
- 모집단의 분포가 무엇이든 상관없이
- (모집단이 정규 분포를 가지든, 아니든)
- 모집단의 평균 , 표준편차 가 존재하고
- 표본 크기 n이 충분히 크면
- => 표본평균의 분포(드러내는 확률)는 정규분포에 근사

표준화(정규화)

- 표본평균(x-)을
- 표준정규분포 N(0,1)로 변환

표본평균의 평균 = 모평균이 가장 많이 나온다 = 뮤랑 비슷한 패턴으로 나온다
1. 왼쪽 큰 그림: 모집단 분포 (μ = 0)
- 왼쪽의 큰 곡선: 모집단의 확률분포
- 가운데 표시: μ = 0
- 위에 적힌 것: σ² = 1 (모분산 1, 표준편차 σ = 1)
- 즉, : 𝑋∼𝑁(0,1)
- 개별 관측값 𝑋들은 0을 중심으로 흩어져 있음
- 이 단계에서는 “개별 점수(데이터)”를 다룸
2. 가운데 작은 점들: 표본 추출 (Sample)
- 모집단에서 여러 개의 표본을 뽑음
- 그림 속 작은 동그라미와 점들 = 표본 데이터들
- 이 표본 하나하나는 여전히 분산이 큼
→ 값이 들쭉날쭉함
3. 오른쪽 위: 표본 1 → 표본평균 𝑋ˉ1
그림에 적힌 예:
- 표본 값들: 2.4, 2.8, 2.52 (같은 느낌의 숫자들)
- 이들의 평균:

표본평균은
- 개별 값보다 훨씬 안정적
- 여전히 랜덤하지만 μ = 0 근처
4. 오른쪽 중간: 다른 표본 → 𝑋ˉ2
다른 표본을 뽑았더니 값들이 0.6, 0, 0 …
평균:

표본이 달라지면 표본평균도 달라짐
하지만, 대부분의 Xˉ 는 0 근처에 몰림
5. 아래 큰 파란 영역: 표본평균들의 분포
- 표본을 여러 번 반복 추출
- 매번 𝑋ˉ 를 계산
- 그 𝑋ˉ 들을 모아 만든 분포
=> 표본평균의 분포

① 𝑋ˉ(엑스바): 표본평균
표본 데이터에서 계산한 평균값
② 𝜇(뮤) : 모평균
모집단 전체의 평균 (알 수 없는 값)
③ 𝜎 (시그마): 모집단의 표준편차
모집단 데이터의 퍼짐 정도
④ 𝑛 : 표본의 크기
표본에 포함된 관측값의 개수
⑤ 𝑍 : 표준화된 통계량 (Z-값)
표본평균이 모평균에서 몇 표준오차만큼 떨어져 있는지
- 평균을 낼수록 변동성이 줄어드는 정도
- 평균: 여전히 0
- 분산: 𝜎^2/𝑛→ 훨씬 작아짐
- 그래서 분포가 좁고 뾰족
모집단과 포본평균 비교
| 구분 | 대상 | 분포 |
| 모집단 분포 | 개별 관측값 X | 아무 분포 가능 |
| 표본평균 분포 | (\bar{X}) | (CLT에 의해) 정규분포 |
- 중심극한정리에 의해 표본 크기가 충분히 크면 표본평균은 정규분포를 따르며,
- 이 표본평균의 확률분포는 연속형이므로 확률은 밀도함수 아래의 면적으로 정의됨
- 이를 통해 적분 또는 표준화를 이용한 확률 계산이 가능
- 이 확률분포를 기반으로 모집단의 모수를 추론
연속형 확률변수 → 밀도함수
- 𝑋ˉ는 연속형
- 따라서 확률질량함수(PMF) ❌
- 확률밀도함수(PDF) ⭕
중요한 성질 - 특정 값의 확률 = 0
- 확률은 구간에 대해 정의됨
확률은 “면적”이다
연속형 확률변수에서:

- 확률 = 곡선 아래 면적
- 적분을 통해 계산

가설 검증
: 표본 데이터를 이용해, 모집단에 대해 세운 주장(가설)이 통계적으로 타당한지 판단하는 절차
μ = 모집단의 평균=0 = 가설 검정의 기준 값 -> 표본 데이터 검정
유의수준 설정 (보통 .. α=0.05 (5%))
: 귀무가설이 참인데도 기각할 확률 허용 한계

- 중심극한정리에 의해 표본평균의 분포를 가정할 수 있고,
- 이를 바탕으로 통계적 검정을 수행한 결과가 유의수준을 만족하면,
- 해당 표본은 주어진 모집단에서 추출되었다고 볼 수 있음
- => 유의수준을 만족하는 경우, 해당 표본은 주어진 모집단에서 추출되었다고 판단할 수 있음
'LG DX DATA SCHOOL' 카테고리의 다른 글
| 01/07 확률 분포 (t- 검정 vs 카이제곱 검정 ) (0) | 2026.01.07 |
|---|---|
| 01/06 가설 검정 (정규 분포, t-분포) (0) | 2026.01.06 |
| 12/31 데이터 시각화 라이브러리 (0) | 2025.12.31 |
| 12/30 기술 통계학 + R (0) | 2025.12.30 |
| 12/29 통계 기반 데이터 분석 (넘파이/ 판다스) (0) | 2025.12.29 |