- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想对未独立采样的数据进行线性拟合。我遇到了广义最小二乘法:
b=(X'*V^(-1)*X)^(-1)*X'*V^(-1)*Y
方程是Matlab格式的; X
和Y
是数据点的坐标,V
是“方差矩阵”。
问题在于,由于其大小(1000 行和列),V 矩阵变得奇异,因此不可逆。关于如何解决这个问题的任何建议?也许使用 GLS 以外的方法来解决广义线性回归问题?我可以使用并且(稍微)熟悉的工具是 Numpy/Scipy、R 和 Matlab。
最佳答案
代替:
b=(X'*V^(-1)*X)^(-1)*X'*V^(-1)*Y
使用
b= (X'/V *X)\X'/V*Y
也就是说,将 X*(Y^-1)
的所有实例替换为 X/Y
。 Matlab 将跳过计算逆(这很难,而且容易出错)并直接计算除法。
编辑:即使使用最好的矩阵操作,某些操作也是不可能的(例如导致您描述的错误)。
可能与您的问题相关的一个示例是,如果尝试在约束条件下解决最小二乘问题,则多个测量值是完美的,100% 相关。除了极少数退化的情况外,无论是在数学上还是在物理上,这都无法实现。您需要在测量中具有一定的独立性,以考虑测量噪声或建模误差。例如,如果您有两个测量值,每个测量值的方差均为 1,并且完全相关,那么您的 V
矩阵将如下所示:
V = [1 1; ...
1 1];
而且您永远无法适应数据。 (这通常意味着您需要重新表述您的基函数,但这是一篇更长的文章。)
但是,如果您调整测量方差以允许测量之间存在少量独立性,那么它就不会出现问题。例如,95% 的相关测量结果如下所示
V = [1 0.95; ...
0.95 1 ];
关于python - 大型数据集上的广义最小二乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612274/
这是我感兴趣的测试: http://www.itl.nist.gov/div898/handbook/eda/section3/eda35h3.htm 如何将这段代码改编成接受数值向量并返回指定要删除
我使用 TensorFlow 1.12 基于 Material 进行语义(图像)分割。使用多项式交叉熵损失函数,这会产生不错的结果,尤其是考虑到我使用的训练数据量稀疏,mIoU 为 0.44: 然而,
AFAIK,在 Hindley-Milner 类型系统中使用的统一可以通过在构造函数位置允许类型变量并在这种情况下放宽 arity 约束来推广以统一更高级的类型: f a ~ T a1 b1 f ~
在阅读 article 时在 Javascript 中实现通用 curry 时,我偶然发现了这段代码。 function curry(fn) { return (...xs) => { i
我想使用 C++14 中引入的广义 lambda 捕获(有关解释,请参阅 Move capture in lambda)。但是,我的代码的其余部分是 C++11 友好的。我想按照以下方式做一些事情 #
我正在尝试实现 this paper 中介绍的广义 Hough 变换在 MATLAB 中。我也试过使用 this document理解算法。我一直在研究如何计算梯度角以找到要在 R 表中使用的 Φ。
假设我们有这样一段代码: std::vector> tasks; 然后我们添加这样的任务: tasks.push_back([]() { // ... } 这行得通。但现在我们要添加该任务:
问题:为什么会打印出以下内容: ChildB___Parent of ChildB ChildB___Parent of ChildB 而不是我认为它应该打印出来的: ChildA___Parent
W3C 推荐 RDF 1.1 概念和抽象语法 defines多么广义 RDF 三元组 是(即,一个非标准三元组,其中每个主语/谓语/宾语都可以是 IRI/bnode/文字)。 关于它的可能用途,它给出
我是一名优秀的程序员,十分优秀!