[英]R: how to calculate an EWMA correlation
我必須計算 EWMA 相關性並使用數據框df.dataCorrelation
plotly()
創建一個圖,其定義為:
date <- c("2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07", "2018-01-08",
"2018-01-09", "2018-01-10", "2018-01-11", "2018-01-12", "2018-01-13", "2018-01-14", "2018-01-15",
"2018-01-16")
prod1 <- c(43.10, 42.56, 41.77, 41, NA, NA, 40.79, 41.03, 40.98, 41.13, 41.98, NA, NA, 40.81, 41.21)
prod2 <- c(19.442, 19.320, 19.204, 18.918, NA, NA, 19.041, 19.452, 19.516, 19.344, 19.840, NA, NA,
19.177, 18.974)
df.dataCorrelation <- data.frame(date, prod1, prod2)
如何創建之間的EWMA相關圖prod1
和prod2
?
編輯:
我已經嘗試過qcc
和ewma()
函數:
m.ewmaCorr <- qcc.groups(df.ewmaCorr$prod1, df.ewmaCorr$prod2)
l.ewma <- ewma(m.ewmaCorr, lambda = 0.85)
如果情節替代是可以接受的,這有效
編輯(丑陋的快速修復)
library(qcc)
library(corrplot)
date <- c("2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07", "2018-01-08",
"2018-01-09", "2018-01-10", "2018-01-11", "2018-01-12", "2018-01-13", "2018-01-14", "2018-01-15",
"2018-01-16")
prod1 <- c(43.10, 42.56, 41.77, 41, NA, NA, 40.79, 41.03, 40.98, 41.13, 41.98, NA, NA, 40.81, 41.21)
prod2 <- c(19.442, 19.320, 19.204, 18.918, NA, NA, 19.041, 19.452, 19.516, 19.344, 19.840, NA, NA,
19.177, 18.974)
df.dataCorrelation <- data.frame(date, prod1, prod2)
df.dataCorrelation <- na.omit(df.dataCorrelation)
df_prod1_ewma<-ewma(df.dataCorrelation$prod1, lambda = 0.85) # give now ewma plot
df_prod2_ewma<-ewma(df.dataCorrelation$prod2, lambda = 0.85)
result_df<-cbind.data.frame(df_prod1_ewma$y,df_prod2_ewma$y)
res<-cor(result_df, use="complete.obs")
x11()
corrplot(res)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.