Pracuję na kawałku oprogramowania, które musi wprowadzić wiggliness zestawu danych. Oto próbka wejścia chciałbym otrzymać, połączyła się z działki lekkość każdego pionowego paska pikseli: Określić "wiggliness" zestawu danych - Python
Łatwo jest zauważyć, że lewy margines jest naprawdę wiggly (czyli ma mnóstwo minimów/maksimów) i chcę wygenerować zestaw krytycznych punktów obrazu. Zastosowałem funkcję wygładzania Gaussa do danych ~ 10 razy, ale wydaje mi się, że początkowo jest to dość nierozważne.
Wszelkie pomysły?
Oto mój oryginalny kod, ale nie produkują bardzo ładne wyniki (dla wiggliness):
def local_maximum(list, center, delta):
maximum = [0, 0]
for i in range(delta):
if list[center + i] > maximum[1]: maximum = [center + i, list[center + i]]
if list[center - i] > maximum[1]: maximum = [center - i, list[center - i]]
return maximum
def count_maxima(list, start, end, delta, threshold = 10):
count = 0
for i in range(start + delta, end - delta):
if abs(list[i] - local_maximum(list, i, delta)[1]) < threshold: count += 1
return count
def wiggliness(list, start, end, delta, threshold = 10):
return float(abs(start - end) * delta)/float(count_maxima(list, start, end, delta, threshold))
Czy możesz zamieścić link do dokładnej definicji wiggliness? –
Czy statystyka, którą chcesz scharakteryzować, ma cechę częstotliwości lub funkcję amplitudy? – SingleNegationElimination
Jeśli pytasz o sposób scharakteryzowania wiggliness zamiast sposobu zaimplementowania tej charakterystyki programowo, możesz mieć więcej szczęścia na http://stats.stackexchange.com/. – katrielalex