All problems
Autocorrelation Lag-1
Problem
Return the lag-1 autocorrelation of data: sum((x_i - mean)*(x_(i-1) - mean)) / sum((x_i - mean)^2) for i from 1 to n-1. Return 0.0 when n < 2 or all values are equal.
Hint
The denominator is the total sum of squares; the numerator only uses adjacent pairs.
Test cases
case 1
in: [[1,2,3,4,5]]
expected: 0.4
case 2
in: [[1,-1,1,-1,1]]
expected: -0.7999999999999998
case 3
in: [[3,3]]
expected: 0
case 4
in: [[1,2]]
expected: -0.5
case 5
in: [[1,2,3,2,1]]
expected: 0.057142857142857106
Starter codePython
def autocorrelation_lag1(data):
# Your code here
pass5 test cases · run your code against them in the editor