내일배움캠프/TIL

[TIL]250109_코드카타, 파이썬 베이직반 2회차, 통계학 3회차

dydatablog 2025. 1. 9. 21:15
728x90

FACTS :

  • ✅ 오전 코드카타 2문
  • ✅ 오전 통계학 VOD 강의 4주차
  • [ ] 오후 파이썬 개인과제 6번
  • ✅ 오후 파이썬 기초 라이브세션 복습
  • ✅  오후 통계학 라이브세션 복습
  • [ ] 오후 QCC 준비 : SQL 코드카타

FEELINGS : 파이썬 베이직 반에서 사소하지만 헷갈렸던 개념들을 다시 복습하면서 수강하는게 너무 좋았다. 기초가 탄탄하게 다져지는 기분이랄까. 코드카타 하면서 코드를 간단하게 쓰는 법을 연습하려고 했는데 마침 오늘 수업에서 Refactored code를 다뤄서 좋았다. 지금까지 '간단하게 쓰는 법'이라고 말하고 다녔는데 저런 멋진 용어가 있었다니. 챌린지반도 녹화본으로 보고 따라갈 수 있게 파이팅 파이팅!

통계학 부분은 검정 통계량, 표준 오차, p-value 등... 용어의 개념들을 이해하는데 시간이 오래 걸렸다. 분명 대학교때 배웠던 건데 머릿속에는 그냥 어디서 많이 본 단어... 귀무가설, 대립가설,, 수식 기호들 정도...? 대학교때 필기를 참고하려고 했는데 일본에 다 버리고 온 나란 감자... 대학교때는 매일 과제 제출에 허덕여가며 과제 제출을 목적으로 머릿속에 욱여넣는 느낌이었는데 지금은 진짜 지식 습득을 위해 하는 느낌이다.

- FINDINGS : Refactored code를 짜는 연습, 통계 z검정 t검정과 관련된 개념들

 


39. 직사각형 별찍기

a, b = map(int, input().strip().split(' '))

for i in range(b):
    print('*' * a)

 

 

39. 최대공약수와 최소공배수

#중간 과정: 최소 공배수 구하기

def solution(n, m):
    answer1 = []
    for i in range(1,m+1):
        if (n % i == 0) & (m % i == 0):
            answer1.append(i)
    return max(answer1)

solution(3,12)

 

두수의 곱을 최대 공약수로 나눈 몫 => 최소공배수

def solution(n, m):
    answer1 = []
    answer = []
    for i in range(1,m+1):
        if (n % i == 0) & (m % i == 0):
            answer1.append(i) #최대 공약수
    return max(answer1), (n * m) // max(answer1) #최소 공배수

 


[Python] 베이직반 - 2회차 복습

Refactoring : 결과의 변경 없이 코드의 구조를 재조정함

Refactored code

 

 

if x > 0:
	y = True
else:
	y = False
    
# Refactored code
y = x > 0

 

if x > y == False:
	z = 1
    
# Refactored code
if not x > y:
	z = 1

 

If문(조건문)에서 주의할 점!:

하고자 하는 조건 : i 의 값이 "apple"이거나 "kiwi" 일 때

(정답) if i == "apple" or i == "kiwi":

(오답) if i == "apple" or "kiwi":  ->언제나 True값이 되어버림

# y 출력값은?
y=0
for x in "ABCDE":
    if x == 'B' or 'C' or 'D' or 'E':
        y += 1

#출력 값 : 5

y 값이 4가 아닌 5인 이유 :

if x == 'B' or 'C' or 'D' or 'E':

->  x 값이 'B' 또는 'C' 또는 'D' 또는 'E' 이면 (x) 이렇게 인식되는게 아니라

 x 값이 'B' 또는 그냥 'C'(문자) 또는 그냥 'D'(문자) 또는 그냥 'E'(문자) 이렇게 인식되어 버려서

'C' or 'D' or 'E' 부분이 다 True로 반환되어 버림

따라서 첫번째 for문(x = 'A'일때) 에서도 x == 'B'에서 해당이 안되더라도 다음 조건이 문자 'C'(True)가 되어버려서 y += 1이 실행된다.


통계학 복습

 

  • 검정 통계량(Test Statistics) : 가설을 검정할 목적으로 정의하는 통계량. 가설을 기각하는 지표

-> 현실적으로 모집단 전체를 조사하기 힘들기 때문에 표본을 뽑아서 표본통계량으로 어떤 가설이 더 타탕한지 파악해야하는데 이 표본통계량을 가설검정에서는 검정통계량이라고 부른다.

 

  • 표준오차(Standard Error, SE) : 통계의 표본 분포의 표준 편차
    • 표본 평균($\bar{X}$)들의 표준편차로 표본의 크기(n)가 📈 클수록 표준오차는 📉작아짐 → 더 많은 정보는 더 정확한 정보
    • 모표준편차 ($\sigma$) 📉 작을수록 표준오차는 📉작아짐 → 원본데이터가 촘촘할수록 더 정확한 정보
  • 유의 수준(Significant level) : 귀무가설이 참 인데도 잘못 기각할 오류를 범할 최대 허용 한계, 산업표준은 5%
  • P-value: 귀무가설이 옳다고 가정할 때 관측한 값(검정 통계량)이 등장할 확률
    • if) P-value < 0.05(유의수준): 귀무가설 지지하지 못함, 대립가설 채택
    • else) P-value > 0.05(유의수준): 귀무가설을 지지함. 해당 결과는 우연에 의한 산물

[정리]

  1. 표본의 크기가 30 이상이여서 정규분포에 근사.
  2. 모집단의 분산을 알 수 있다.
두 가지 조건 모두 만족( &조건 )한다면 => Z 검정

 

  1. 표본의 크기가 30 미만이다.
  2. 모집단의 분산이 알려져 있지 않다.
두 가지 조건 중 하나( OR 조건) 라도 해당된다면 => t 검정

 

p-value만 가지고 실험이 얼마나 믿을만한지는 확정지을 수 없음

통계검정은 도구지 목적이 아니라는 것을 명심!

728x90