Tôi đang làm việc trên một phần mềm cần thực hiện sự xáo trộn của một tập dữ liệu. Dưới đây là một mẫu của các đầu vào tôi sẽ nhận, sáp nhập với cốt truyện nhẹ nhàng của mỗi dải điểm ảnh dọc: Xác định "sự xáo trộn" của tập hợp dữ liệu - Python
Nó rất dễ dàng để thấy rằng lề trái là thực sự Wiggly (tức là có một tấn cực tiểu/maxima) và tôi muốn tạo một tập hợp các điểm quan trọng của hình ảnh. Tôi đã áp dụng một hàm làm mịn Gaussian cho dữ liệu ~ 10 lần, nhưng nó có vẻ khá dễ dàng để bắt đầu.
Bất kỳ ý tưởng nào?
Đây là mã ban đầu của tôi, nhưng nó không tạo ra kết quả rất tốt đẹp (cho 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))
Bạn có thể đăng liên kết đến định nghĩa chính xác về sự xáo trộn không? –
Thống kê bạn đang tìm cách mô tả tính năng tần số hoặc tính năng biên độ? – SingleNegationElimination
Nếu bạn đang hỏi về một cách để mô tả tính năng xáo trộn thay vì một cách để thực hiện đặc tính đó theo chương trình, bạn có thể có nhiều may mắn hơn trên http://stats.stackexchange.com/. – katrielalex