Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 두 시리즈의 결합된 평균과 분산 찾기


크기가 b와 각각 다른 두 개의 시리즈 A1과 A2가 있다고 가정합니다. 결합된 급수의 평균과 분산을 찾아야 합니다.

따라서 입력이 A1 =[24, 46, 35, 79, 13, 77, 35] 및 A2 =[66, 68, 35, 24, 46]인 경우 출력은 평균 =[44.1429, 47.8입니다. ], sd =[548.694, 294.56], 결합 평균 =45.6667, d1_square =2.322, d2_square =4.5511, Combined_var =446.056

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 함수 mean() 을 정의합니다. 시간이 걸립니다

    • arr 요소의 평균 반환

  • sd() 함수를 정의합니다. arr, n

    이 걸립니다.
  • 합계 :=0;

  • 0에서 n 사이의 i에 대해 수행

    • 합계 :=합계 +((arr[i] - 평균(arr)) * (arr[i] - 평균(arr)))

  • sdd :=합계 / n

  • sdd를 반환

  • 기본 방법에서 다음을 수행하십시오 -

  • n :=A1의 크기, m :=A2의 크기

  • 평균1 :=평균(A1), 평균2 :=평균(A2)

  • 평균1 및 평균2 표시

  • sd1 :=sd(A1, n), sd2 :=sd(A2, m)

  • sd1 및 sd2 표시

  • CombinedMean :=(n * 평균1 + m * 평균2) /(n + m)

  • 표시 결합 평균

  • d1_square :=(mean1 - CombinedMean) *(mean1 - CombinedMean)

  • d2_square :=(mean2 - CombinedMean) *(mean2 - CombinedMean)

  • 디스플레이 d1_square, d2_square

  • 빗_var :=(n *(sd1 + d1_square) + m *(sd2 + d2_square)) /(n + m)

  • com_var 표시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def mean(arr):return sum(arr)/len(arr)def sd(arr, n):sum =0; for i in range(n):sum =sum + ((arr[i] - mean(arr)) * (arr[i] - mean(arr))) sdd =sum / n return sdddef CombineVariance(A1, A2) :n =len(A1) m =len(A2) 평균1 =평균(A1) 평균2 =평균(A2) print("mean_1:", round(mean1, 2), " mean_2:", round(mean2, 2) ) sd1 =sd(A1, n) sd2 =sd(A2, m) print("sd_1:", round(sd1, 2)," sd_2:", round(sd2, 2)) CombinedMean =(n * mean1 + m * 평균2) / (n + m) print("결합 평균:", round(combinedMean, 2)) d1_square =((mean1 - CombinedMean) * (mean1 - CombinedMean)) d2_square =((mean2 - CombinedMean) * ( mean2 - CombinedMean)) print("d1_square:", round(d1_square, 2), " d2_square:", round(d2_square, 2)) comb_var =(n * (sd1 + d1_square) + m * (sd2 + d2_square)) / (n + m) print("결합 분산:", round(comb_var, 2))A1 =[24, 46, 35, 79, 13, 77, 35 ]A2 =[66, 68, 35, 24, 46 ]n =len(A1)m =len(A2)combinedVariance(A1, A2)

입력

[24, 46, 35, 79, 13, 77, 35],[66, 68, 35, 24, 46]

출력

mean_1:44.14 mean_2:47.8sd_1:548.69 sd_2:294.56결합 평균:45.67d1_square:2.32 d2_square:4.565결합 분산:446.0