这是我的密码。我得到一个错误,当我使用chol(V)时,V不是正定的。我认为在建筑上,它必须是正定的。知道出什么问题了吗?
% I want 10000 draws of a 5x1 multivariate normal distribution
N =5;
T = 10000;
% randomly generate standard deviations
sigma = 1 + .1*rand(N,1);
% randomly generate correlations which are between [-1,1]
rho = -1+2*rand(nchoosek(N,2),1)
如果您有一个包含两个国家在一年内的每日温度的两列数据,那么使用熊猫corr计算这些列的相关性是很容易的,例如:
Country A Country B
10 20
11 20
10 22
9 23
df.corr()
是否有一种方法,以某种方式产生一个熊猫系列的基础上,最初的列将有一个特定的相关性?换句话说,如果我只有一个国家的温度清单,我想生成第二个与第一个列表有0.8相关的列表,例如:
Country A Country B
10
11
10
9
我有一个包含非数字列CatColumn的DataFrame df。
A B CatColumn
0 381.1396 7.343921 Medium
1 481.3268 6.786945 Medium
2 263.3766 7.628746 High
3 177.2400 5.225647 Medium-High
我希望将CatColumn包含在与数据帧中其他列的相关性分析中。我尝试过DataFrame.corr,但它在相关性分析中不包括具有标称值的列。
我有一只235607 records大小的熊猫,还有94 attributes。我是一个非常新的python,我能够在所有属性之间创建一个关联矩阵,但这需要单独研究。我尝试编写一个for循环来打印关联大于80%的列的列表,但是我一直得到错误"'DataFrame‘对象没有属性'c1'“
这是我用来创建属性和示例for循环之间的关联的代码。谢谢你的帮助:-
corr = data.corr() # data is the pandas dataframe
c1 = corr.abs().unstack()
c1.sort_values(ascending = Fa
我有两个来自excels的数据帧,如下所示。第一个数据帧有一个多索引头。 我试图根据货币(即KRW,THB,USD,INR)查找数据帧中的每一列与相应数据帧之间的相关性。目前,我正在执行一个循环来遍历每一列,在找到相关性之前按索引和相应的头进行匹配。 for stock_name in index_data.columns.get_level_values(0):
stock_prices = index_data.xs(stock_name, level=0, axis=1)
stock_prices = stock_prices.dropna()
fx
我试图使用一个while循环来遍历我的列,并计算一个固定列与其余列之间的相关性。
i = 1
while i < 51:
feature = 'mean(f{0})-PR'.format(str(i))
feature_list.append(feature)
corr = df['mean(f19)-PR'].corr(df[feature])
i += 1
这给了我一个错误:
TypeError: unsupported operand type(s) for /: 'str' and 'int&
我在MATLAB中使用'corr‘函数有问题,
a =
1 4 3 2
2 3 3 2
3 2 3 2
4 1 3 2
>> corr(a)
ans =
1 -1 NaN NaN
-1 1 NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
当我手动计算时,缺少的值(NaN)是因为分母是零(0)。尽管如此,我们可以看到列3
我想使用pyspark.mllib.stat.Statistics.corr函数来计算pyspark.sql.dataframe.DataFrame对象的两列之间的相关性。corr函数期望接受rdd of Vectors对象。如何将df['some_name']列转换为rdd of Vectors.dense对象?
我想用Matlab产生两个不相关的信号,但我有奇怪的结果,可能是由于我的经验有限。
我知道有一些函数rand和randn。如果我使用randn生成这2,则总是计算这2的相关性,并且它非常低(正如我所预期的)。
z1 = randn(1,1000);
z2 = randn(1,1000);
corr(z1,z2) % it returns a very low number as expected
如果我使用rand生成2(或两者兼用),如下面所示,关联就是NAN。
z1 = rand(1,1000);
z2 = rand(1,1000);
corr(z1,z2) % it returns a
是否有可能以矢量化的方式计算级数与DataFrame中每一列的相关性?这适用于滚动相关和EWM相关,但对香草相关失败。
例如:
In [3]: series = pd.Series(pd.np.random.rand(12))
In [4]: frame = pd.DataFrame(pd.np.random.rand(12,4))
In [7]: pd.ewmcorr(series, frame, span=3)
Out[7]:
0 1 2 3
0 NaN NaN NaN
正如标题所示,我有一个名为df的数据帧。
给定一个变量(指定的df列),我希望找到与该变量具有最高相关值的列。
下面是我尝试过的方法:
def highest_correlated(df, column):
sol = -1
for col in df.columns:
while col != column:
corr = df[column].corr(df[col])
if corr>sol:
sol = corr
return sol
这样做的问题是它花费了太多的时间