이 데이터 세트를 부드럽게하고 오류 막대가있는 단일 대표 커브를 생성하려고합니다. 데이터 포인트를 획득하는 방법은 상당히 거친 단계로 이산화되었다. 나는 많은 프로그래밍 경험이 없지만 배우려고 노력하고 있습니다. 나는 가우스 필터가 좋은 선택일지도 모른다는 것을 읽었다. 어떤 도움을 주시면 감사하겠습니다. 여기이산 데이터 세트 평활화
는 예를 들어 데이터 집합은 다음과 같습니다
Time (min) Non-Normalized Shrinkage Normalized Shrinkage
200 93 1.021978022
202 92 1.010989011
204 92 1.010989011
206 92 1.010989011
208 92 1.010989011
210 92 1.010989011
212 91 1
214 90 0.989010989
216 90 0.989010989
218 90 0.989010989
220 88 0.967032967
222 88 0.967032967
224 87 0.956043956
226 86 0.945054945
228 86 0.945054945
230 86 0.945054945
232 86 0.945054945
234 86 0.945054945
236 85 0.934065934
238 84 0.923076923
240 83 0.912087912
242 83 0.912087912
244 83 0.912087912
246 82 0.901098901
248 83 0.912087912
250 82 0.901098901
252 81 0.89010989
254 81 0.89010989
256 82 0.901098901
258 82 0.901098901
260 79 0.868131868
262 80 0.879120879
264 80 0.879120879
나는 온라인 곳이 코드를 발견하지만 난 그것을 구현하는 방법을 알고하거나 내가 무엇을 찾고 심지어 여부하지 않습니다.
def smoothListGaussian(list,degree=5):
window=degree*2-1
weight=numpy.array([1.0]*window)
weightGauss=[]
for i in range(window):
i=i-degree+1
frac=i/float(window)
gauss=1/(numpy.exp((4*(frac))**2))
weightGauss.append(gauss)
weight=numpy.array(weightGauss)*weight
smoothed=[0.0]*(len(list)-window)
for i in range(len(smoothed)):
smoothed[i]=sum(numpy.array(list[i:i+window])*weight)/sum(weight)
return smoothed
지금까지 어떤 코드를 제공 할 수 있습니까? 그리고 예제 데이터 세트? – Ffisegydd
나는 지금까지 어떤 코드도 갖고 있지 않다. 위의 그림을 붙여 보았지만 구현 방법을 모르겠습니다. 그런 멍청 아. – SeattleFreezer