【发布时间】:2015-04-08 11:28:12
【问题描述】:
我有一个变量 y,它依赖于一些变量 x1 ∈ [x1_min,x1_max], x2 ∈ [x2_min,x2_max], x3 ∈ [x3_min,x3_max] 并且 y 也可以是一个矩阵,即 y=y( x1,x2,x3)。我想检测 x1,x2,x3 中哪一个与确定 y 的值不太相关。
我在 Matlab 中使用以下代码:
x = rand(1000,3); % x1, x2, x3 are the columns of x
y = fct(x); % A generic function of x1, x2, x3
[corr_mat, p_val] = corrcoef(x,y);
[i,j] = find(p_val > 0.5);
disp([i,j])
问题在于生成的索引很大程度上取决于随机样本(即使我增加了样本数量)。如何获得更精确的测量值?
作为一个简单的替代示例,y=x1+x2+x3,其中 x1∈[50,80],x2∈[0,1],x3∈[0,1]。显然,y 的值更多地取决于 x1,而不是其他 2 个变量。如何量化这种依赖性?
提前谢谢你。
编辑:这就是我所说的“量化”或“相关性”。我想检测哪个变量决定了 y 的非常小的变化,即在前面的示例中,x2 和 x3 使 y 的变化小于 x1。
【问题讨论】:
-
这只是一个想法,但标准差会有帮助吗?
x1的标准差比其他两个大。 -
@kkuila 我认为标准偏差不会有帮助。例如,假设有 x1∈[1000,1030]、x2∈[0,30]、x3∈[0,30],在这种情况下它们具有相同的标准差,但 x1 更相关。跨度>
-
如果你这样做
min(x) + std(x)?那么x1的值将高于其他两个。我假设您说x1更相关,因为最小值高于其他两个。只是一个想法。 -
那么在这种情况下是的,但这只会解决具体的例子。我一直在寻找对 x1,x2,x3 的通用函数有效的东西,就像相关矩阵一样。唯一的问题是它非常依赖于采样。
-
您能否详细说明在这个具体示例中相关性对您意味着什么? (用数学术语表述将是最好的)。根据您的 cmets,以下可能为您提供有用的相关性度量: x = [x1=mean(x1), x2=0, x3=0];测量 = fct(x) + dfct(x)/dx1*std(x1);
标签: matlab statistics correlation random-sample