这是我的第一个问题,我希望它不会被误导/放在错误的地方。
假设我有一个数据矩阵,除了一个值之外,所有的数据都被填充了。例如,列1是高度,列2是重量,列3是工作台压力机。所以我调查了20个人,得到了他们的身高、体重和仰卧起坐的体重。现在我有一个5英尺11英寸,体重170磅的人,我想预测他/她的仰卧起坐体重。你可以把它看作是一个缺失值的矩阵,或者你可以把它看作是想要预测一个给定的自变量向量的因变量。对于这类问题,有一些曲线拟合的方法,但我想知道如何使用奇异值分解来回答这个问题。
我知道奇异值分解是一种预测缺失值的方法,但实际上我找到的所有信息都与巨大的高度稀疏矩阵有关,涉及Netflix Prize和相关问题。我不知道如何使用SVD或类似的方法来预测中小型、完全填充(除了一个缺失值)矩阵中的缺失值。
使用奇异值分解解决上述示例的分步算法对我很有帮助。谢谢!
发布于 2013-07-01 05:21:23
我本来打算写这篇评论的,但是它太长了,所以我把它作为一个答案提交了。
我对奇异值分解的阅读告诉我,它不太适用于你的例子。特别是,你似乎需要以某种方式将一些难度排名分配给你矩阵的仰卧栏,或者个人的一些能力排名。也许两者都有。由于他可以做仰卧撑的数量完全取决于他自己的身高和体重,我认为SVD不会提供任何优化,而不仅仅是计算列表中其他人完成的统计平均值,并用它来预测5'11 170磅举重运动员的结果。也许如果有BMI (身体质量指数)列,如果BMI可以排名...而且可能是一个更大的数据集。我认为问题是你的矩阵中没有噪声可以通过使用奇异值分解来减少。这里有一个tut似乎使用了类似的问题:http://www.puffinwarellc.com/index.php/news-and-articles/articles/30-singular-value-decomposition-tutorial.html
https://stackoverflow.com/questions/17394624
复制相似问题