안녕하세요! 오늘은 본캠프 28일차입니다!!
오늘은 금요일!!!! 오늘만 지나면 내일은 또 쉬니까 파이팅이에요!
베이직 기초문제
1-1) 데이터셋 정보 확인
다음 데이터를 사용하여 Pandas DataFrame을 생성하고, df.info()를 사용하여 데이터의 각 컬럼별 정보(Non-Null 개수, 데이터 타입 등)를 확인하고 출력하세요.
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, None, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju'], 'Score': [85, 92, 78, 95]}
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, None, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju'], 'Score': [85, 92, 78, 95]}
df = pd.DataFrame(data)
df.info()
나온 결과
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 4 non-null object
1 Age 3 non-null float64
2 City 4 non-null object
3 Score 4 non-null int64
dtypes: float64(1), int64(1), object(2)
memory usage: 260.0+ bytes
1-2) 데이터셋 통계 요약
다음 DataFrame에 대해 df.describe()를 사용하여 'Age'와 'Score' 컬럼의 평균, 표준편차, 최솟값, 최댓값 등 통계 요약 정보를 확인하고 출력하세요.
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, None, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju'], 'Score': [85, 92, 78, 95]}
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, None, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju'], 'Score': [85, 92, 78, 95]}
df = pd.DataFrame(data)
df.describe()
나온 결과

1-3) 데이터셋 상위 3개 행 확인
다음 DataFrame에 대해 상위 3개 행을 출력하세요.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, None, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju'], 'Score': [85, 92, 78, 95]}
df = pd.DataFrame(data)
print(df.head(3))
나온 결과

2-1) 결측치 평균으로 채우기
다음 DataFrame의 'Age' 컬럼에 있는 결측치(NaN)를 'Age' 컬럼의 평균값으로 채운 후, 변경된 DataFrame의 'Age' 컬럼을 출력하세요.
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, np.nan, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju']}
import pandas as pd
import numpy as np
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, np.nan, 22], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju']}
df = pd.DataFrame(data)
mean_age = df['Age'].mean()
df['Age'].fillna(mean_age, inplace=True)
print(df['Age'])
나온 결과
0 25.000000
1 30.000000
2 25.666667
3 22.000000
Name: Age, dtype: float64
2-2) 특정 값 변경
다음 DataFrame에서 'City' 컬럼의 'Seoul'을 'Gangnam'으로 변경한 후, 변경된 DataFrame의 'City' 컬럼을 출력하세요.
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'City': ['Seoul', 'Busan', 'Seoul']}
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'City': ['Seoul', 'Busan', 'Seoul', 'Jeju']}
df = pd.DataFrame(data)
df['City'] = df['City'].replace('Seoul', 'Gangnam')
print(df['City'])
나온 결과
0 Gangnam
1 Busan
2 Gangnam
3 Jeju
Name: City, dtype: object
2-3) 결측치와 특정 값 동시에 처리
다음 DataFrame의 'Score' 컬럼에 있는 결측치(NaN)는 0으로 채우고, 'Status' 컬럼에서 'Unknown' 값을 'Pending'으로 변경한 후, 변경된 DataFrame을 출력하세요.
data = {'ID': [1, 2, 3, 4], 'Score': [75, np.nan, 88, 92], 'Status': ['Completed', 'Unknown', 'Completed', 'Unknown']}
import pandas as pd
import numpy as np
data = {'ID': [1, 2, 3, 4], 'Score': [75, np.nan, 88, 92], 'Status': ['Completed', 'Unknown', 'Completed', 'Unknown']}
df = pd.DataFrame(data)
df['Score'] = df['Score'].fillna(0)
df['Status'] = df['Status'].replace('Unknown', 'Pending')
print(df)
나온 결과
ID Score Status
0 1 75.0 Completed
1 2 0.0 Pending
2 3 88.0 Completed
3 4 92.0 Pending
기초 통계 - 기술통계
1. 중심극한정리에 대한 설명으로 옳은 것은?
중심극한정리(Central Limit Theorem)는 통계학에서 매우 중요한 개념으로, 모집단이 어떤 분포를 따르더라도 일정한 조건을 만족할 경우 표본평균의 분포가 정규분포에 가까워진다는 성질을 의미합니다. 이 정리는 표본의 크기와 모집단 분포에 따라 적용 여부가 달라질 수 있습니다. 아래 보기 중 중심극한정리에 대해 가장 올바르게 설명한 것을 고르세요.
A. 모집단이 반드시 정규분포를 따라야 중심극한정리를 적용할 수 있다.
B. 표본의 크기가 작을수록 정규분포에 가까워진다.
C. 표본의 크기가 충분히 크면 표본평균의 분포는 정규분포에 가까워진다
D. 표본분포는 항상 이산형이다.
💡 해설
A (X): 중심극한정리는 모집단이 정규분포가 아니더라도 표본의 크기만 충분히 크면 적용 가능합니다. 따라서 반드시 정규분포일 필요는 없습니다.
B (X): 표본의 크기가 작으면 오히려 표본평균의 분포가 정규분포와 멀어질 수 있습니다. 중심극한정리는 표본 크기가 클수록 정규성을 갖는다고 합니다.
C (O): 이 설명이 중심극한정리의 정의에 해당합니다. 표본의 크기가 커질수록 표본평균의 분포는 정규분포에 가까워집니다.
D (X): 표본분포는 보통 표본통계량의 연속형 분포로 나타납니다. 항상 이산형이라는 건 잘못된 설명입니다.
2. 표본분포에 대한 설명으로 틀린 것은?
표본분포(Sampling Distribution)는 모집단에서 동일한 크기의 표본을 여러 번 추출했을 때, 각 표본에서 계산된 통계량(예: 평균, 비율 등)들의 분포를 의미합니다. 이는 통계적 추론에서 매우 중요한 개념으로, 통계량의 변동성과 신뢰도를 판단하는 데 사용됩니다. 다음 중 표본분포의 개념에 대해 틀린 설명을 고르세요.
A. 표본분포는 같은 크기의 표본을 반복해서 추출하여 얻는 통계량들의 분포이다.
B. 표본분포의 평균은 모집단의 평균과 같다.
C. 표본의 크기가 커지면 표본분포의 표준편차는 커진다.
D. 표본분포는 통계량의 분포이다.
💡 해설
A (O): 정확한 설명입니다. 같은 크기의 표본을 여러 번 뽑아서 통계량(예: 평균)을 구한 것들의 분포가 표본분포입니다.
B (O): 표본평균의 평균(즉, 기대값)은 모집단의 평균과 같습니다. 이것은 불편추정량의 성질입니다.
C (X): 표본의 크기 n이 커질수록 표본분포의 표준편차(=표준오차)는 작아집니다.
D (O): 표본분포는 통계량(평균, 비율 등)의 확률분포를 의미하므로 맞는 설명입니다.
3. 공분산과 상관계수의 차이에 대한 설명으로 옳은 것은?
공분산과 상관계수는 두 변수 간의 관계를 설명하는 대표적인 통계 지표입니다. 공분산은 두 변수의 변동 방향을 나타내며, 단위에 영향을 받습니다. 상관계수는 공분산을 표준화한 지표로, 두 변수 간의 선형적 관계의 방향과 강도를 파악할 수 있으며 단위에 영향을 받지 않습니다. 다음 보기 중, 공분산과 상관계수의 차이를 올바르게 설명한 것을 고르세요.
A. 공분산은 항상 0과 1 사이의 값을 가진다.
B. 상관계수는 두 변수 간의 선형 관계의 방향과 강도를 나타낸다.
C. 관계수는 단위를 가지며 해석이 어렵다.
D. 공분산이 0이면 항상 독립이다.
💡 해설
A (X): 공분산은 값의 범위가 제한되지 않으며, -∞부터 +∞까지 가능합니다. 따라서 항상 0~1 사이라는 설명은 잘못되었습니다.
B (O): 상관계수는 -1 ~ 1 사이의 값으로, **두 변수 간의 선형 관계 방향(+, -)과 강도(절댓값)**를 나타냅니다.
C (X): 상관계수는 단위가 없고 해석이 간편합니다. 공분산은 단위가 있지만, 상관계수는 표준화된 값입니다.
D (X): 공분산이 0이라고 해서 두 변수가 항상 독립인 것은 아닙니다. 비선형 관계일 경우 공분산은 0일 수 있지만, 여전히 종속일 수 있습니다.
4. 피어슨 상관계수에 대한 설명으로 옳은 것은?
피어슨 상관계수(Pearson Correlation Coefficient)는 두 변수 간의 선형적 관계의 강도와 방향을 측정하는 대표적인 통계 지표입니다. 상관계수의 값은 -1에서 1 사이의 범위를 가지며,
1에 가까울수록 강한 양의 선형 관계,
-1에 가까울수록 강한 음의 선형 관계,
0에 가까울수록 선형 관계가 거의 없음을 의미합니다.
이 상관계수는 변수의 단위와 무관하며, 주로 연속형 변수에 사용됩니다. 다음 보기 중 피어슨 상관계수에 대해 올바르게 설명한 것을 고르세요.
A. 피어슨 상관계수는 두 변수의 비선형 관계를 잘 설명해준다.
B. 피어슨 상관계수가 0이면 두 변수는 완전히 독립이다.
C. 피어슨 상관계수는 두 변수 간의 선형 관계를 -1에서 1 사이의 값으로 나타낸다.
D. 피어슨 상관계수는 변수의 단위에 따라 값이 달라진다.
💡 해설
A (X): 피어슨 상관계수는 선형 관계만 측정합니다. 비선형 관계에는 적합하지 않습니다.
B (X): 상관계수가 0이라는 것은 선형 관계가 없다는 의미일 뿐이며, 비선형 관계는 있을 수 있습니다. 따라서 독립이라는 해석은 잘못입니다.
C (O): 피어슨 상관계수는 두 변수 간의 선형 관계의 방향과 강도를 나타내며, -1 ≤ r ≤ 1 범위를 가집니다.
D (X): 상관계수는 단위와 무관하게 계산되며, 표준화된 값입니다. 단위에 영향을 받지 않습니다.
오늘은 통계학 기초 3주차 강의를 들었습니다!
3.1 A/B 검정
1) A/B 검정이란 무엇인가?
A/B 검정
- A/B 검정은 두 버전(A와 B) 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정 방법.
- 마케팅, 웹사이트 디자인 등에서 많이 사용됨.
- 사용자들을 두 그룹으로 나누고, 각 그룹에 다른 버전을 제공한 후, 반응을 비교.
- 일반적으로 전환율, 클릭률, 구매수, 방문 기간, 방문한 페이지 수, 특정 페이지 방문 여부, 매출 등의 지표를 비교.
목적
두 그룹 간의 변화가 우연이 아니라 통계적으로 유의미한지를 확인.
2) A/B 검정이 실제로 어떻게 적용되어질까?
두 개를 비교하여 구매 전환율이 큰 것을 선택
온라인 쇼핑몰에서 두 가지 디자인(A와 B)에 대한 랜딩 페이지를 테스트하여 어떤 디자인이 더 높은 구매 전환율을 가져오는지 평가.
3.2 가설검정
1) 가설검정이란 무엇인가?
가설검정
- 표본 데이터를 통해 모집단의 가설을 검증하는 과정
- 즉, 데이터가 특정 가설을 지지하는지 평가하는 과정
- 귀무가설(H0)과 대립가설(H1)을 설정하고, 귀무가설을 기각할지를 결정
- 데이터 분석시 두가지 전략을 취할 수 있음
- 확증적 자료분석
- 미리 가설들을 먼저 세운 다음 가설을 검증해 나가는 분석
- 탐색적 자료분석(EDA)
- 가설을 먼저 정하지 않고 데이터를 탐색해보면서 가설 후보들을 찾고 데이터의 특징을 찾는 것
- 확증적 자료분석
단계
- 귀무가설(H0)과 대립가설(H1) 설정
- 유의수준(α) 결정
- 검정통계량 계산
- p-값과 유의수준 비교
- 결론 도출
2) 통계적 유의성과 p값
통계적 유의성
- 통계적 유의성은 결과가 우연히 발생한 것이 아니라 어떤 효과가 실제로 존재함을 나타내는 지표
- p값은 귀무 가설이 참일 경우 관찰된 통계치가 나올 확률을 의미
- 일반적으로 p값이 0.05 미만이면 결과를 통계적으로 유의하다고 판단
p-값
- 귀무가설이 참일 때, 관찰된 결과 이상으로 극단적인 결과가 나올 확률
- 일반적으로 p-값이 유의수준(α)보다 작으면 귀무가설을 기각
- 유의수준으로 많이 사용하는 값이 0.05
p-값을 통한 유의성 확인
- p-값이 0.03이라면, 3%의 확률로 우연히 이러한 결과가 나올 수 있음
- 일반적으로 0.05 이하라면 유의성이 있다고 봄
3) 신뢰구간과 가설검정의 관계
신뢰구간과 가설검정
- 신뢰구간과 가설검정은 밀접하게 관련된 개념
- 둘 다 데이터의 모수(ex. 평균)에 대한 정보를 구하고자 하는 것이지만 접근 방식이 다름
- 신뢰구간
- 특정 모수가 포함될 범위를 제공
- 가설검정
- 모수가 특정 값과 같은지 다른지 테스트
4) 가설검정이 실제로 어떻게 적용되어질까?
가설을 설정하여 검증
- 새로운 약물이 기존 약물보다 효과가 있는지 검정
- 이 때 새로운 약물은 기존 약물과 큰 차이가 없다는 것이 귀무가설!
- 대립가설은 새로운 약물이 기존 약물과 대비해 교과가 있다는 것!
3.3 t검정
1) t검정이란 무엇인가?
t검정
- t검정은 두 집단 간의 평균 차이가 통계적으로 유의미한지 확인하는 검정 방법
- 독립표본 t검정과 대응표본 t검정으로 나뉨
독립표본 t검정
- 두 독립된 그룹의 평균을 비교
대응표본 t검정
- 동일한 그룹의 사전/사후 평균을 비교
3.4 다중검정
1) 다중검정이란 무엇인가?
다중검정
- 여러 가설을 동시에 검정할 때 발생하는 문제
- 각 검정마다 유의수준을 조정하지 않으면 1종 오류(귀무가설이 참인데 기각하는 오류) 발생 확률이 증가
- 1종 오류가 무엇인지랑 왜 다중검정시 발생확률이 증가하는지는 밑에서 다시 설명! 지금은, 어떤 오류가 발생할 수 있다는 정도로 이해!
보정 방법
- 본페로니 보정, 튜키 보정, 던넷 보정, 윌리엄스 보정 등이 있음
- 가장 대표적이고 기본적인게 본페로니 보정
2) 다중검정과 보정을 어떻게 적용되어질까?
- 여러 약물의 효과를 동시에 검정
- 이 때 본페로니 보정을 사용해볼 수 있음
3.5 카이제곱검정
1) 카이제곱검정이란 무엇인가?
카이제곱검정
- 범주형 데이터의 표본 분포가 모집단 분포와 일치하는지 검정(적합도 검정)하거나
- 두 범주형 변수 간의 독립성을 검정(독립성 검정)
적합도 검정
- 관찰된 분포와 기대된 분포가 일치하는지 검정
- p값이 높으면 데이터가 귀무 가설에 잘 맞음. 즉, 관찰된 데이터와 귀무 가설이 적합
- p값이 낮으면 데이터가 귀무 가설에 잘 맞지 않음. 즉, 관찰된 데이터와 귀무 가설이 부적합
독립성 검정
- 두 범주형 변수 간의 독립성을 검정
- p값이 높으면 두 변수 간의 관계가 연관성이 없음 → 독립성이 있음
- p값이 낮으면 두 변수 간의 관계가 연관성이 있음 → 독립성이 없음
2) 카이제곱검정은 어떻게 적용되어질까?
범주형 데이터의 분포 확인 및 독립성 확인을 위해 사용
- 주사위의 각 면이 동일한 확률로 나오는지 검정(적합도 검정)
- 성별과 직업 만족도 간의 독립성 검정(독립성 검정)
3.6 제 1종 오류와 제 2종 오류
1) 제 1종 오류와 제 2종 오류는 무엇일까?
제 1종 오류
- 귀무가설이 참인데 기각하는 오류
- 잘못된 긍정을 의미 (아무런 영향이 없는데 영향이 있다고 하는 것)
- 한 단어로 위양성!
- α를 경계로 귀무가설을 기각하기 때문에 제1종 오류가 α만큼 발생
- 따라서 유의수준(α)을 정함으로써 제 1종 오류 제어 가능
- 만약, 유의수준이 0.05라면 100번 중 5번 정도 일어날 수 있는 제 1종 오류는 감수하겠다는 것
제 2종 오류
- 귀무가설이 거짓인데 기각하지 않는 오류.
- 잘못된 부정을 의미 (영향이 있는데 영향이 없다고 하는 것)
- 한 단어로 위음성!
- 제 2종 오류가 일어날 확률은 β로 정의.
- 제 2종 오류가 일어나지 않을 확률은 검정력(1-β)으로 정의.
- 하지만 이를 직접 통제할 수는 없음.
- 그나마 통제를 해볼 수 있는 방법으로는…
- 표본크기 n이 커질 수록 β가 작아짐.
- α와 β는 상충관계에 있어서 너무 낮은 α를 가지게 되면 β는 더욱 높아짐
예시
- 새로운 약물이 효과가 없는데 있다고 결론 내리는 것(제 1종 오류).
- 효과가 있는데 없다고 결론 내리는 것(제 2종 오류).
밖에 비가 많이 오네용 ☔️
오늘도 수고 많으셨습니다!! 주말 잘 쉬고 월요일에 뵐게요~~~ 🤓
'2025 내일배움캠프 QAQC_2기' 카테고리의 다른 글
| 2025 내일배움캠프 QAQC_2기 본캠프 30일차 (0) | 2025.06.24 |
|---|---|
| 2025 내일배움캠프 QAQC_2기 본캠프 29일차 (0) | 2025.06.23 |
| 2025 내일배움캠프 QAQC_2기 본캠프 27일차 (3) | 2025.06.19 |
| 2025 내일배움캠프 QAQC_2기 본캠프 26일차 (0) | 2025.06.18 |
| 2025 내일배움캠프 QAQC_2기 본캠프 25일차 (0) | 2025.06.17 |