导出数据与 R 中特定模型的拟合程度的指标

问题描述 投票:0回答:1

假设我有 3 个虚拟模型(下图)和一组跨时间点 A、B、C 的数据,我想做一个测试,看看每组测量值与 3 个模型中的每一个模型的拟合程度如何,从而得出一个指标适用于型号 1、2、3。

我该如何在 R 中做到这一点?

虚拟模型数据

dummy.df <- data.frame(S = c(0.8, 0.4, 0.1),
                       P = c(0.4, 0.5, 0.3),
                       R = c(0.1, 0.35, 0.9),
                       row.names = LETTERS[1:3])

虚拟输入数据

random.df <- as.data.frame(matrix(runif(5*3), 
                                  nrow = 5, 
                                  ncol = 3, 
                                  dimnames = list(1:5, LETTERS[1:3])))

enter image description here

r regression data-fitting
1个回答
0
投票

假设 random.df 是数据,dummy.df 是模型值,我们可以比较残差平方和,其中越低意味着拟合效果越好。对于末尾注释中的数据,P 的残差平方和最小。

s <- stack(random.df); s
colSums((s$values - dummy.df[s$ind, ])^2)
##        S        P        R 
## 2.268878 1.765409 3.389199 

注意

dummy.df <- data.frame(S = c(0.8, 0.4, 0.1),
                       P = c(0.4, 0.5, 0.3),
                       R = c(0.1, 0.35, 0.9),
                       row.names = LETTERS[1:3])
set.seed(123)
random.df <- as.data.frame(matrix(runif(5*3), 
                                  nrow = 5, 
                                  ncol = 3, 
                                  dimnames = list(1:5, LETTERS[1:3])))
© www.soinside.com 2019 - 2024. All rights reserved.