-1

센서를 가지고 있다고 가정 해 봅시다. 로컬 온도 나 실제 온도, 1/100 초마다 센서가 있다고 가정 해 봅시다.스트리밍 입력 데이터의 표준 표준 편차를 얻으십시오.

그래서 두 번째로 배열에 100 개의 숫자가 채워졌습니다.

내가 원하는 것은이 데이터의 인구 표준 편차를 구할 수 있도록이 스트리밍 데이터의 통계 모델, 대개 종형 곡선을 작성하는 것입니다.

이제는 많은 저장 공간이있는 컴퓨터에서 문제가되지 않지만 몇 달 동안 여러 센서에서 생성 된 모든 숫자를 저장하는 라즈베리 파이 또는 마이크로 프로세서와 같은 소형 장치에서는 매우 문제가됩니다. 비현실적이다. 나는 표준 편차를 얻기의 수학 보았을 때

, 나는 단순히 몇 가지 숫자를 저장하는 생각 :

지금까지 모든 숫자의 총 실행 합계, 숫자의 개수, 그리고 마지막으로 실행중인 합 of (각 숫자 - 현재 평균)^2.

이 방법을 사용하면 새 번호를 얻을 때마다 계산에 하나를 더하고 실행중인 합계에 숫자를 더하고 새 평균을 구하여 (새로운 수 - 새 평균)^2를 합계를 계산하고,이를 수와 루트로 나누어 새로운 표준 편차를 구하십시오.

이 방법 몇 가지 문제는, 그러나있다 :

이 데이터 유형을 가정에서 스트리밍 숫자의 합이 온도와 평균 온도가 화씨 60도이며, 숫자가 오버 플로우 476 년이 걸릴 것이다 100hz에서 스트리밍.

(수 - 평균)^2의 합계에 대한 신뢰도는 제곱 된 숫자의 합계이므로 유지할 수 없습니다.

가장 중요한 점은 각 수치에 대해 표준 편차의 전체 수학적 가치, 특히 모집단 표준 편차를 완전히 없애주는 새로운 평균이 사용되기 때문에이 접근법은 매우 정확하지 않습니다.

인구 표준 편차를 달성하는 것이 불가능하다고 생각되면 샘플 표준 편차에 대해 어떻게해야합니까? 매 n 번째 숫자를 가져 가면 여전히 동일한 문제가 발생합니다.

센서 데이터를 나타내는 통계 모델을 원하기 때문에 시간 간격으로 데이터 세트를 제한하고 싶지 않습니다 (즉, 센서 데이터의 마지막 24 시간 만 모델이 작성됩니다). 오랜 기간 동안, 즉 1 년에 걸쳐 테스트하고 디버깅을하거나 심지어 유용한 모델을 얻는 데 1 년을 기다려야한다면 재미가 없을 것입니다.

모집단을 얻는 데 수학적으로 효과가 있거나, 실제로 증가하는 세트의 표본 표준 편차를 샘플링 할 수 있습니다. 불가능할 것이므로 실제로 저장하지 않고 정확하게 감지 할 수 있습니다. 무엇인가 여러 표준 편차가있을 때?

내가 본 가장 가까운 대답은 wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm입니다. 그러나 이것이 무엇을 말하는지, 그리고 숫자 세트를 저장해야하는지는 알 수 없습니다.

감사합니다.

+1

가능한 중복? ] (http://stackoverflow.com/questions/1174984/how-to-efficiently-calculate-a-running-standard-deviation) – DPenner1

+0

나는 그 문제를 보았다. 그리고 나의 특정한 문제는 끊임없이 증가하는 숫자의 집합이다. 변화하는 세트 만이 아닙니다. – user1693105

답변

0

링크 코드를 보여줍니다, 그리고 당신 만 3 변수를 저장할 필요가 분명하다 : [어떻게 효율적으로 계산하기 위해 실행 표준 편차의 지금까지 샘플 수, 차 차이의 현재 평균과 합계

+0

그래, 내가 말했던 것, 정말로 나의 걱정을 다루지 않는다. – user1693105

관련 문제