网上没找到,自己对付着写了一个,作用就是判断一个2列以上(含2列)的矩阵,是否有某2列存在线性相关性 /**/ /// <summary> /// 检查矩阵的轶是否具有高相关性 /// </summary> /// <param name="X">待检查的矩阵</param> /// <returns>检查结果,如果有高相关性,返回true,否则返回false</returns> private Boolean HasHighlyCorrelated(Matrix X) { Boolean flag = true; Double rate = 0; for (Int32 m = 0; m < X.Columns - 1; m++) { for (Int32 n = m + 1; n < X.Columns; n++) { rate = X[0,m] / X[0,n]; //记录第一行的2数的比率 for (int i = 1; i < X.Rows; i++)//以第一行为参照,从第二行开始比较 { //如果2数比率和第一行不同 if ((X[i,m] / X[i,n]) / rate != 1) { flag = false;//则此2列无线性相关性 break; } } if (flag)//如果此次比较的2列具有线性相关性,返回true { return true; } } } return false; } 转载于:https://www.cnblogs.com/jxhwei/archive/2007/10/29/941712.html