-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
P_X = np.array([1/6] * 6) # 정상적인 주사위
P_Y = np.array([1/21] * 6) # 비정상적인 주사위해당 부분에서 1/21 불공정한 주사위가 모든 경우의 수의 합이 6/21에 고정되어있습니다
따라서, 해당 부분은 맞게
P_X = np.array([1/6] * 6) # 정상적인 주사위
P_Y = np.array([1/21, 2/21, 3/21, 4/21, 5/21, 6/21]) # 비정상적인 주사위이런 식으로 수동으로 적어주었습니다.
import numpy as np
# 주사위의 값들
X_vals = np.array([1, 2, 3, 4, 5, 6])
Y_vals = np.array([1, 2, 3, 4, 5, 6])
print(X_vals)
# 확률 질량 함수
P_X = np.array([1/6] * 6) # 정상적인 주사위
P_Y = np.array([1/21, 2/21, 3/21, 4/21, 5/21, 6/21]) # 비정상적인 주사위
print(P_X)
print(P_Y)
# 기대값 계산
E_X = np.sum(X_vals * P_X)
E_Y = np.sum(Y_vals * P_Y)
print("E_X의 값", E_X)
print("E_Y의값", E_Y)
# 결합 확률은 P(X=x, Y=y) = P(X=x) * P(Y=y)
P_XY = np.outer(P_X, P_Y) # 외적을 사용하여 결합 확률 생성
E_XY = np.sum((X_vals[:, None] * Y_vals) * P_XY) # E[XY] 계산
print("E_XY의 값", E_XY)
print("E_X의 값", E_X * E_Y)
# 공분산 계산
cov_XY = E_XY - (E_X * E_Y)
print("공분산:", cov_XY)고쳐도 이런 식으로 매우 작은 0..0000000000000003의 오차가 있어서 -3e-15으로나오는 듯 합니다.
뭔가 같은 코드를 이쁘게 정렬할려고 하다보니까 그런건지는 모르겠는데
뭔가 저런 실수를 하니까 기계 같지 않고 오히려 인간적으로 보인다고 해야할까요
정상적인 주사위의 확률 질량 함수는 6분의 1 비정상적인 주사위의 확률 질량 함수는 21분의 1 두 확률변수는 서로 독립인가? (계산하라)
라고 하셨는데 아예 정상적인 주사위와 비정상적인 주사위의 정의를 명시적으로 내리고 하면 제대로 할 지도 모르겠습니다.
정상적인 주사위 1/6 비정상적인 주사위 1/21, 2/21... 6/21의 주사위가 있다.
둘 다 확률 질량함수이며, 서로 공분산이 0 즉, 서로 독립인지 구하라
[조건1]
파이썬 코드로 제출한다.
numpy 라이브러리를 사용한다.
이런 식으로요
근데 만약 이런 식으로 쓰는 글이 길어지면 사실상 자기가 증명하거나 코드를 짜는 게 더 빨라보이긴 합니다.
Metadata
Metadata
Assignees
Labels
No labels
