我想知道如何为矩阵相关热图添加另一层重要且需要的复杂性,例如除了R2值(-1到1)之外,在显着性水平星的方式之后的p值?
在这个问题中没有意图将显着性水平星或p值作为文本放在矩阵BUT的每个方格上,而不是在矩阵的每个方格上的显着性水平的图形开箱即用表示中.我认为只有那些享受创新思维祝福的人才能赢得掌声,解开这种解决方案,以便有最好的方式来代表我们的"半真半导体相关热图"中复杂的复杂成分.我google了很多但从未见过正确或我会说"眼睛友好"的方式来表示显着性水平加上反映R系数的标准色调.
可重现的数据集可在此处找到:
http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/
R代码请在下面找到:
library(ggplot2)
library(plyr) # might be not needed here anyway it is a must-have package I think in R
library(reshape2) # to "melt" your dataset
library (scales) # it has a "rescale" function which is needed in heatmaps
library(RColorBrewer) # for convenience of heatmap colors, it reflects your mood sometimes
nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv")
nba <- as.data.frame(cor(nba[2:ncol(nba)])) # convert the matrix correlations to a dataframe
nba.m <- data.frame(row=rownames(nba),nba) # create a column called "row"
rownames(nba) …Run Code Online (Sandbox Code Playgroud) 我有两个1D阵列,我想看到他们的相互关系.我应该在numpy中使用什么程序?我正在使用numpy.corrcoef(arrayA, arrayB)并且numpy.correlate(arrayA, arrayB)两者都给出了一些我无法理解或理解的结果.有人可以阐明如何理解和解释这些数值结果(最好用一个例子)?谢谢.
我在小型配对排名上计算Spearman的rho.斯皮尔曼以不妥善处理领带而闻名.例如,取2组8个排名,即使6个是两组中的一组中的关系,相关性也会非常高:
> cor.test(c(1,2,3,4,5,6,7,8), c(0,0,0,0,0,0,7,8), method="spearman")
Spearman's rank correlation rho
S = 19.8439, p-value = 0.0274
sample estimates:
rho
0.7637626
Warning message:
Cannot compute exact p-values with ties
Run Code Online (Sandbox Code Playgroud)
并且p值<.05,这对于这些数据来说似乎具有非常高的统计意义.在R中是否有一个关系纠正版的Spearman?迄今为止用很多关系来计算它的最佳公式是什么?
Cor.test()采用向量x和y参数,但我有一整个数据矩阵,我想成对测试.Cor()把这个矩阵作为一个参数就好了,我希望找到一种方法来做同样的事情cor.test().
其他人的共同建议似乎是使用cor.prob():
https://stat.ethz.ch/pipermail/r-help/2001-November/016201.html
但是这些p值与cor.test()!!! 生成的p值不同 Cor.test()也似乎更适合处理成对删除(我的数据集中有相当多的缺失数据)cor.prob().
有没有人有其他选择cor.prob()?如果解决方案涉及嵌套for循环,那么就是它(我已经足够新了,R因为即使这对我来说也是有问题的).
在题为" 度量相关性的缩放"及其对无标度网络中的扩散的影响的论文中,作者定义了$ E_b(k)$的数量来衡量度相关程度.
LK Gallos,C.Song和HA Makse,度量相关性的比例及其对无标度网络扩散的影响,物理学.莱特牧师.100,248701(2008).
我的问题是如何使用Python计算网络的Eb(k)?我的问题是我无法重现作者的结果.我使用Condense Matter数据进行测试.Eb(k)的结果如上图所示.您可以看到我的图中的一个问题是Eb(k)远大于1!!我也尝试了互联网(作为级别数据)和WWW数据,问题仍然存在.毫无疑问,我的算法或代码存在严重问题.您可以重现我的结果,并将其与作者进行比较.您的解决方案或建议非常感谢.我将在下面介绍我的算法和python脚本.
python脚本如下:
%matplotlib inline
import networkx as nx
import matplotlib.cm as cm
import matplotlib.pyplot as plt
from collections import defaultdict
def ebks(g, b):
edge_dict = defaultdict(lambda: defaultdict(int))
degree_dict = defaultdict(int)
edge_degree = [sorted(g.degree(e).values()) for e in g.edges()]
for e in edge_degree:
edge_dict[e[0]][e[-1]] +=1
for i in g.degree().values(): …Run Code Online (Sandbox Code Playgroud) 我已经阅读了一些解释,如何使用信号的fft更有效地计算自相关,将实部乘以复共轭(傅里叶域),然后使用逆fft,但我在matlab中实现这一点时遇到了麻烦因为在详细程度上,我真的不知道自己在做什么.:o)那里的任何一种灵魂都在乎分享一些代码和智慧?
谢谢!
我有两个时间序列,我怀疑他们之间有时间转换,我想估计这个时间转换.
之前已经问过这个问题: 找到两个(非谐波)波之间的相位差并找到两个相似波形之间的时间偏移,但在我的情况下,时移小于数据的分辨率.例如,数据以小时分辨率提供,时移仅为几分钟(见图).
造成这种情况的原因是,用于测量其中一个系列的数据记录器在其时间上几分钟的变化.
那里的任何算法都可以估计这种偏移,最好不使用插值?

我有两个具有形状N X T和数组的阵列M X T.我想计算T每对可能的行n和m(分别来自N和M)之间的相关系数.
什么是最快,最pythonic的方式来做到这一点?(循环过来N,M在我看来既不快也不是pythonic.)我期待答案涉及numpy和/或scipy.现在我的数组是numpy arrays,但我愿意将它们转换为不同的类型.
我期待我的输出是一个形状的数组N X M.
NB当我说"相关系数"时,我的意思是Pearson乘积矩相关系数.
以下是一些需要注意的事项:
numpy函数correlate要求输入数组为一维.numpy函数corrcoef接受二维数组,但它们必须具有相同的形状.scipy.stats函数pearsonr要求输入数组为一维.我有一个流量数据矢量(29个数据)和一个3D矩阵数据(360*180*29)
我想找到单个矢量和3D矢量之间的相关性.相关矩阵的大小为360*180.
> str(ScottsCk_flow_1981_2010_JJA)
num [1:29] 0.151 0.644 0.996 0.658 1.702 ...
> str(ssta_winter)
num [1:360, 1:180, 1:29] NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
> summary(ssta_winter)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
-2.8 -0.2 0.1 0.2 0.6 6.0 596849.0
Run Code Online (Sandbox Code Playgroud)
以上是矢量和3D矩阵的结构.3D矩阵有许多值为Null.
> for (i in 1:360) {
+ for(j in 1:180){
+ cor_ScottsCk_SF_SST_JJA[i,j] = cor(ScottsCk_flow_1981_2010_JJA,ssta_winter[i,j,])
+ }
+ }
There were 50 or more warnings (use warnings() to see the first 50)
Run Code Online (Sandbox Code Playgroud)
上面这部分代码是找到相关性的代码.但它提供了警告 …
我必须比较两个时间 - 电压波形.由于这些波形源的特殊性,其中一个可以是另一个的时移版本.
我怎样才能找到时间转移?如果是的话,它有多少.
我在Python中这样做,并希望使用numpy/scipy库.