Question about autocorrelation_plot result vs autocorr result
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I used autocorrelation_plot
to plot the autocorrelation of a straight line:
import numpy as np
import pandas as pd
from pandas.plotting import autocorrelation_plot
import matplotlib.pyplot as plt
dr = pd.date_range(start='1984-01-01', end='1984-12-31')
df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"])
autocorrelation_plot(df)
plt.show()
Then, I tried using autocorr()
to calculate the autocorrelation with different lags:
for i in range(0,366):
print(df['Values'].autocorr(lag=i))
The output is 1 (or 0.99) for all the lag. But it is clear from the correlogram that the autocorrelation is a curve rather than a straight line fixed at 1.
Did I interpret the correlogram incorrectly or did I use the autocorr() function incorrectly? Thanks!
python pandas autocorrelation
add a comment |
I used autocorrelation_plot
to plot the autocorrelation of a straight line:
import numpy as np
import pandas as pd
from pandas.plotting import autocorrelation_plot
import matplotlib.pyplot as plt
dr = pd.date_range(start='1984-01-01', end='1984-12-31')
df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"])
autocorrelation_plot(df)
plt.show()
Then, I tried using autocorr()
to calculate the autocorrelation with different lags:
for i in range(0,366):
print(df['Values'].autocorr(lag=i))
The output is 1 (or 0.99) for all the lag. But it is clear from the correlogram that the autocorrelation is a curve rather than a straight line fixed at 1.
Did I interpret the correlogram incorrectly or did I use the autocorr() function incorrectly? Thanks!
python pandas autocorrelation
add a comment |
I used autocorrelation_plot
to plot the autocorrelation of a straight line:
import numpy as np
import pandas as pd
from pandas.plotting import autocorrelation_plot
import matplotlib.pyplot as plt
dr = pd.date_range(start='1984-01-01', end='1984-12-31')
df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"])
autocorrelation_plot(df)
plt.show()
Then, I tried using autocorr()
to calculate the autocorrelation with different lags:
for i in range(0,366):
print(df['Values'].autocorr(lag=i))
The output is 1 (or 0.99) for all the lag. But it is clear from the correlogram that the autocorrelation is a curve rather than a straight line fixed at 1.
Did I interpret the correlogram incorrectly or did I use the autocorr() function incorrectly? Thanks!
python pandas autocorrelation
I used autocorrelation_plot
to plot the autocorrelation of a straight line:
import numpy as np
import pandas as pd
from pandas.plotting import autocorrelation_plot
import matplotlib.pyplot as plt
dr = pd.date_range(start='1984-01-01', end='1984-12-31')
df = pd.DataFrame(np.arange(len(dr)), index=dr, columns=["Values"])
autocorrelation_plot(df)
plt.show()
Then, I tried using autocorr()
to calculate the autocorrelation with different lags:
for i in range(0,366):
print(df['Values'].autocorr(lag=i))
The output is 1 (or 0.99) for all the lag. But it is clear from the correlogram that the autocorrelation is a curve rather than a straight line fixed at 1.
Did I interpret the correlogram incorrectly or did I use the autocorr() function incorrectly? Thanks!
python pandas autocorrelation
python pandas autocorrelation
edited Jan 3 at 10:22
Cheng
asked Jan 3 at 7:15
ChengCheng
6,39784070
6,39784070
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You are using both functions correctly, but... Autocorrelation_plot uses a different way of calculating autocorrelations then autocorr() does.
The following two posts explain more about the differences. Unfortunately I don't know which way of calculating is the correct way:
What's the difference between pandas ACF and statsmodel ACF?
Why NUMPY correlate and corrcoef return different values and how to "normalize" a correlate in "full" mode?
If you need it, you can get the autocorrelations out of your autocorrelation plot as follows:
ax = autocorrelation_plot(df)
ax.lines[5].get_data()[1]
Thanks for the links. From what I can tell,autocorr()
callednp.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation ofautocorrelation_plot
is correct. I have submitted an issue on github.
– Cheng
Jan 4 at 8:54
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54017871%2fquestion-about-autocorrelation-plot-result-vs-autocorr-result%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are using both functions correctly, but... Autocorrelation_plot uses a different way of calculating autocorrelations then autocorr() does.
The following two posts explain more about the differences. Unfortunately I don't know which way of calculating is the correct way:
What's the difference between pandas ACF and statsmodel ACF?
Why NUMPY correlate and corrcoef return different values and how to "normalize" a correlate in "full" mode?
If you need it, you can get the autocorrelations out of your autocorrelation plot as follows:
ax = autocorrelation_plot(df)
ax.lines[5].get_data()[1]
Thanks for the links. From what I can tell,autocorr()
callednp.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation ofautocorrelation_plot
is correct. I have submitted an issue on github.
– Cheng
Jan 4 at 8:54
add a comment |
You are using both functions correctly, but... Autocorrelation_plot uses a different way of calculating autocorrelations then autocorr() does.
The following two posts explain more about the differences. Unfortunately I don't know which way of calculating is the correct way:
What's the difference between pandas ACF and statsmodel ACF?
Why NUMPY correlate and corrcoef return different values and how to "normalize" a correlate in "full" mode?
If you need it, you can get the autocorrelations out of your autocorrelation plot as follows:
ax = autocorrelation_plot(df)
ax.lines[5].get_data()[1]
Thanks for the links. From what I can tell,autocorr()
callednp.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation ofautocorrelation_plot
is correct. I have submitted an issue on github.
– Cheng
Jan 4 at 8:54
add a comment |
You are using both functions correctly, but... Autocorrelation_plot uses a different way of calculating autocorrelations then autocorr() does.
The following two posts explain more about the differences. Unfortunately I don't know which way of calculating is the correct way:
What's the difference between pandas ACF and statsmodel ACF?
Why NUMPY correlate and corrcoef return different values and how to "normalize" a correlate in "full" mode?
If you need it, you can get the autocorrelations out of your autocorrelation plot as follows:
ax = autocorrelation_plot(df)
ax.lines[5].get_data()[1]
You are using both functions correctly, but... Autocorrelation_plot uses a different way of calculating autocorrelations then autocorr() does.
The following two posts explain more about the differences. Unfortunately I don't know which way of calculating is the correct way:
What's the difference between pandas ACF and statsmodel ACF?
Why NUMPY correlate and corrcoef return different values and how to "normalize" a correlate in "full" mode?
If you need it, you can get the autocorrelations out of your autocorrelation plot as follows:
ax = autocorrelation_plot(df)
ax.lines[5].get_data()[1]
edited Jan 3 at 12:50
answered Jan 3 at 12:43
Sander van den OordSander van den Oord
715520
715520
Thanks for the links. From what I can tell,autocorr()
callednp.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation ofautocorrelation_plot
is correct. I have submitted an issue on github.
– Cheng
Jan 4 at 8:54
add a comment |
Thanks for the links. From what I can tell,autocorr()
callednp.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation ofautocorrelation_plot
is correct. I have submitted an issue on github.
– Cheng
Jan 4 at 8:54
Thanks for the links. From what I can tell,
autocorr()
called np.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation of autocorrelation_plot
is correct. I have submitted an issue on github.– Cheng
Jan 4 at 8:54
Thanks for the links. From what I can tell,
autocorr()
called np.corrcoef()
which calculates the pearson correlation, which is different from autocomplete correlation. The implementation of autocorrelation_plot
is correct. I have submitted an issue on github.– Cheng
Jan 4 at 8:54
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54017871%2fquestion-about-autocorrelation-plot-result-vs-autocorr-result%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown