Questions tagged «fitting»

使某些统计模型适合特定数据集的过程。通常在计算机上完成,并使用各种数值方法,例如优化或数值积分或模拟。

3
R:尽管数据集中没有NaN,随机森林仍在“外部函数调用”错误中抛出NaN / Inf [关闭]
我正在使用插入符号在数据集上运行交叉验证的随机森林。Y变量是一个因素。我的数据集中没有NaN,Inf或NA。但是,当运行随机森林时,我得到 Error in randomForest.default(m, y, ...) : NA/NaN/Inf in foreign function call (arg 1) In addition: There were 28 warnings (use warnings() to see them) Warning messages: 1: In data.matrix(x) : NAs introduced by coercion 2: In data.matrix(x) : NAs introduced by coercion 3: In data.matrix(x) : NAs introduced by …

6
将正弦项拟合到数据
尽管我读了这篇文章,但我仍然不知道如何将其应用于我自己的数据,并希望有人能帮助我。 我有以下数据: y <- c(11.622967, 12.006081, 11.760928, 12.246830, 12.052126, 12.346154, 12.039262, 12.362163, 12.009269, 11.260743, 10.950483, 10.522091, 9.346292, 7.014578, 6.981853, 7.197708, 7.035624, 6.785289, 7.134426, 8.338514, 8.723832, 10.276473, 10.602792, 11.031908, 11.364901, 11.687638, 11.947783, 12.228909, 11.918379, 12.343574, 12.046851, 12.316508, 12.147746, 12.136446, 11.744371, 8.317413, 8.790837, 10.139807, 7.019035, 7.541484, 7.199672, 9.090377, 7.532161, 8.156842, 9.329572, 9.991522, …
26 r  regression  fitting 

1
检测计数数据中的异常值
我天真地认为这是一个相当直接的问题,涉及对许多不同数量的计数数据进行异常检测。具体来说,我想确定一系列计数数据中的一个或多个值相对于分布中其余计数是否高于或低于预期。 令人困惑的因素是,我需要对3500个分布执行此操作,其中一些分布可能适合零膨胀的过度分散的Poisson,而另一些分布可能最好拟合负二项式或ZINB,而另一些分布可能呈正态分布。因此,简单的Z分数或分布图不适用于大多数数据集。这是我要检测异常值的计数数据的示例。 counts1=[1 1 1 0 2 1 1 0 0 1 1 1 1 1 0 0 0 0 1 2 1 1 2 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 2 1 1 1 1 1 1 …

1
当解析雅可比行列可用时,最好通过
假设我正在计算一些模型参数,以使残差平方和最小化,并且我假设我的误差是高斯分布。我的模型产生解析导数,因此优化器不需要使用有限差分。拟合完成后,我要计算拟合参数的标准误差。 通常,在这种情况下,误差函数的Hessian通过以下与协方差矩阵相关: 其中是残差的方差。σ2H−1=Cσ2H−1=C \sigma^2 H^{-1} = C σ2σ2\sigma^2 如果没有可用的误差解析导数,则通常无法计算Hessian,因此将作为一个很好的近似值。JTJJTJJ^TJ 但是,就我而言,我有一个解析J,因此对我来说,通过有限差分J计算H相对便宜。 因此,我的问题是:使用我的精确J并应用上述近似值来近似H还是通过有限差分J来近似H会更准确吗?

1
MLE与拟合概率分布中的最小二乘
根据我读过的几篇论文,书籍和文章,给我的印象是,将概率分布拟合到一组数据上的推荐方法是使用最大似然估计(MLE)。但是,作为物理学家,一种更直观的方法是仅使用最小二乘法将模型的pdf与数据的经验pdf拟合。那么为什么MLE在拟合概率分布上比最小二乘更好?有人可以指出我要回答该问题的科学论文/书吗? 我的直觉是因为MLE没有假定噪声模型,而经验pdf中的“噪声”是异方差的,不是正常的。

2
回归分析和曲线拟合之间的区别
有人可以向我解释回归分析和曲线拟合(线性和非线性)之间的实际差异,并举个例子吗? 似乎两者都试图找到两个变量(因变量与独立变量)之间的关系,然后确定与所提出的模型相关的参数(或系数)。例如,如果我有一组数据,例如: Y = [1.000 1.000 1.000 0.961 0.884 0.000] X = [1.000 0.063 0.031 0.012 0.005 0.000] 有人可以建议这两个变量之间的相关公式吗?我很难理解这两种方法之间的区别。如果您希望用其他数据集来支持您的答案,那是可以的,因为那似乎很难适应(也许仅对我而言)。 上面的数据集代表接收器工作特性(ROC)曲线的和y轴,其中y是真实的阳性率(TPR),x是错误的阳性率(FPR)。xxxyyyyyyxxx 我正在尝试拟合曲线,或者根据我最初的问题(还不确定)进行回归分析,以估计任何特定FPR的TPR(反之亦然)。 首先,在两个自变量(TPR和FPR)之间找到这样的曲线拟合函数在科学上是否可以接受? 第二,如果我知道实际否定案例和实际肯定案例的分布不正常,找到这样的函数在科学上是可以接受的吗?

3
在R中拟合t分布:缩放参数
我如何拟合t分布的参数,即与正态分布的“均值”和“标准偏差”相对应的参数。我假设它们被称为t分布的“均值”和“缩放/自由度”? 以下代码通常会导致“优化失败”错误。 library(MASS) fitdistr(x, "t") 我必须先缩放x还是转换成概率?如何做到最好?

4
梯度提升机的精度随着迭代次数的增加而降低
我正在通过caretR中的程序包尝试使用梯度增强机算法。 使用一个小的大学录取数据集,我运行了以下代码: library(caret) ### Load admissions dataset. ### mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv") ### Create yes/no levels for admission. ### mydata$admit_factor[mydata$admit==0] <- "no" mydata$admit_factor[mydata$admit==1] <- "yes" ### Gradient boosting machine algorithm. ### set.seed(123) fitControl <- trainControl(method = 'cv', number = 5, summaryFunction=defaultSummary) grid <- expand.grid(n.trees = seq(5000,1000000,5000), interaction.depth = 2, shrinkage = …
15 machine-learning  caret  boosting  gbm  hypothesis-testing  t-test  panel-data  psychometrics  intraclass-correlation  generalized-linear-model  categorical-data  binomial  model  intercept  causality  cross-correlation  distributions  ranks  p-value  z-test  sign-test  time-series  references  terminology  cross-correlation  definition  probability  distributions  beta-distribution  inverse-gamma  missing-data  paired-comparisons  paired-data  clustered-standard-errors  cluster-sample  time-series  arima  logistic  binary-data  odds-ratio  medicine  hypothesis-testing  wilcoxon-mann-whitney  unsupervised-learning  hierarchical-clustering  neural-networks  train  clustering  k-means  regression  ordinal-data  change-scores  machine-learning  experiment-design  roc  precision-recall  auc  stata  multilevel-analysis  regression  fitting  nonlinear  jmp  r  data-visualization  gam  gamm4  r  lme4-nlme  many-categories  regression  causality  instrumental-variables  endogeneity  controlling-for-a-variable 

5
为什么线性回归基于假设和输入数据点之间的垂直距离使用成本函数?
假设我们有输入(预测)数据和输出(响应)数据点A,B,C,D,E,并且我们希望通过这些点拟合一条线。这是一个简单的问题,可以说明问题,但也可以扩展到更高的维度。 问题陈述 当前最佳拟合或假设由上面的黑线表示。蓝色箭头()表示数据点与当前最佳拟合之间的垂直距离,方法是从该点绘制一条垂直线直至与该线相交。→→\color{blue}\rightarrow 绘制绿色箭头(),使其在相交点处垂直于当前假设,因此代表数据点与当前假设之间的最小距离。对于点A和点B,绘制一条垂直于当前最佳猜测的线,并且该线类似于垂直于x轴的线。对于这两点,蓝线和绿线重叠,但对于C,D和E点则不重叠。→→\color{green}\rightarrow 最小二乘原理通过在任何给定的训练周期中通过一条数据线(A,B,C,D或E)绘制一条垂直线到估计的假设()来定义线性回归的成本函数,并由表示→→\color{blue}\rightarrow CostFunction=∑Ni=1(yi−hθ(xi))2CostFunction=∑i=1N(yi−hθ(xi))2Cost Function = \sum_{i=1}^N(y_i-h_\theta(x_i))^2 这里代表数据点,代表最佳拟合。(xi,yi)(xi,yi)(x_i, y_i)hθ(xi)hθ(xi)h_\theta(x_i) 点(A,B,C,D或E)之间的最小距离由从该点到当前最佳猜测的垂直线(绿色箭头)表示。 最小二乘函数的目的是定义一个目标函数,当最小化该函数时,将使假设与所有组合点之间的距离最小,但不一定会使假设与单个输入点之间的距离最小。 **题** 我们为什么不将线性回归的成本函数定义为输入数据点与通过输入数据点的假设(由垂直于假设的直线定义)之间的最小距离,如()?→→\color{green}\rightarrow

3
如何以编程方式检测数据序列的片段以适合不同的曲线?
是否有记录在案的算法将给定数据集的各个部分分成最适合的不同曲线? 例如,大多数查看此数据图表的人都可以将其轻松分为3部分:正弦曲线段,线性段和反指数段。实际上,我是用正弦波,一条直线和一个简单的指数公式制作的。 是否存在用于查找类似零件的现有算法,然后可以将这些零件分别拟合到各种曲线/线上以形成一种最佳数据子集的复合系列? 请注意,尽管示例中段的末端几乎对齐,但这并不一定是这种情况。在分段截止时,这些值也可能突然震荡。也许这些情况将更容易发现。 更新:这是一小部分真实数据的图像: 更新2:这是一组非常小的实际数据集(仅509个数据点): 4,53,53,53,53,58,56,52,49,52,56,51,44,39,39,39,37,33,27,21,18,12,19,30,45,66,92,118,135,148,153,160,168,174,181,187,191,190,191,192,194,194,194,193,193,201,200,199,199,199,197,193,190,187,176,162,157,154,144,126,110,87,74,57,46,44,51,60,65,66,90,106,99,87,84,85,83,91,95,99,101,102,102,103,105,110,107,108,135,171,171,141,120,78,42,44,52,54,103,128,82,103,46,27,73,123,125,77,24,30,27,36,42,49,32,55,20,16,21,31,78,140,116,99,58,139,70,22,44,7,48,32,18,16,25,16,17,35,29,11,13,8,8,18,14,0,10,18,2,1,4,0,61,87,91,2,0,2,9,40,21,2,14,5,9,49,116,100,114,115,62,41,119,191,190,164,156,109,37,15,0,5,1,0,0,2,4,2,0,48,129,168,112,98,95,119,125,191,241,209,229,230,231,246,249,240,99,32,0,0,2,13,28,39,15,15,19,31,47,61,92,91,99,108,114,118,121,125,129,129,125,125,131,135,138,142,147,141,149,153,152,153,159,161,158,158,162,167,171,173,174,176,178,184,190,190,185,190,200,199,189,196,197,197,196,199,200,195,187,191,192,190,186,184,184,179,173,171,170,164,156,155,156,151,141,141,139,143,143,140,146,145,130,126,127,127,125,122,122,127,131,134,140,150,160,166,175,192,208,243,251,255,255,255,249,221,190,181,181,181,181,179,173,165,159,153,162,169,165,154,144,142,145,136,134,131,130,128,124,119,115,103,78,54,40,25,8,2,7,12,25,13,22,15,33,34,57,71,48,16,1,2,0,2,21,112,174,191,190,152,153,161,159,153,71,16,28,3,4,0,14,26,30,26,15,12,19,21,18,53,89,125,139,140,142,141,135,136,140,159,170,173,176,184,180,170,167,168,170,167,161,163,170,164,161,160,163,163,160,160,163,169,166,161,156,155,156,158,160,150,149,149,151,154,156,156,156,151,149,150,153,154,151,146,144,149,150,151,152,151,150,148,147,144,141,137,133,130,128,128,128,136,143,159,180,196,205,212,218,222,225,227,227,225,223,222,222,221,220,220,220,220,221,222,223,221,223,225,226,227,228,232,235,234,236,238,240,241,240,239,237,238,240,240,237,236,239,238,235 这,绘制,与appoximate的位置有些已知的真实世界元素边用虚线标记,奢侈品,我们通常不会有: 然而,我们确实拥有的一种奢望是事后观察:就我而言,数据不是时间序列,而是与空间相关的。一次分析整个数据集(通常为5000-15000个数据点)是有意义的,而不是持续进行。


1
如何最小化指数拟合的平方的剩余平方和?
我有以下数据,并希望对其采用负指数增长模型: Days <- c( 1,5,12,16,22,27,36,43) Emissions <- c( 936.76, 1458.68, 1787.23, 1840.04, 1928.97, 1963.63, 1965.37, 1985.71) plot(Days, Emissions) fit <- nls(Emissions ~ a* (1-exp(-b*Days)), start = list(a = 2000, b = 0.55)) curve((y = 1882 * (1 - exp(-0.5108*x))), from = 0, to =45, add = T, col = "green", …

3
如何将样条曲线拟合到包含值和一阶/二阶导数的数据?
我有一个数据集,其中包含一些位置,速度和加速度的测量值。全部来自同一“运行”。我可以构造一个线性系统,并将多项式拟合所有这些度量。 但是我可以用样条线做同样的事情吗?这样做的“ R”方式是什么? 这是一些我想拟合的模拟数据: f <- function(x) 2+x-0.5*x^2+rnorm(length(x), mean=0, sd=0.1) df <- function(x) 1-x+rnorm(length(x), mean=0, sd=0.3) ddf <- function(x) -1+rnorm(length(x), mean=0, sd=0.6) x_f <- runif(5, 0, 5) x_df <- runif(8, 3, 8) x_ddf <- runif(10, 4, 9) data <- data.frame(type=rep('f'), x=x_f, y=f(x_f)) data <- rbind(data, data.frame(type=rep('df'), x=x_df, y=df(x_df))) data <- …

1
为什么算术平均值小于对数正态分布中的分布平均值?
所以,我有一个随机过程生成数正态分布随机变量XXX。这是相应的概率密度函数: 我想估计分配是原始分配的几个时刻,让我们说第一次的时刻:算术平均值。为此,我绘制了100个随机变量10000次,以便可以计算10000次算术平均值估计。 有两种不同的方法可以估算均值(至少,这是我的理解:我可能是错的): 通过清楚地计算的算术平均值以通常的方式: X¯= ∑我= 1ñX一世ñ。X¯=∑i=1NXiN.\bar{X} = \sum_{i=1}^N \frac{X_i}{N}. 或先根据基本正态分布估算和μ:μ = N ∑ i = 1 log (X i)σσ\sigmaμμ\mu然后平均值作为 ˉ X =EXP(μ+1μ = ∑我= 1ñ日志(X一世)ñσ2= ∑我= 1ñ(日志(X一世)- μ )2ñμ=∑i=1Nlog⁡(Xi)Nσ2=∑i=1N(log⁡(Xi)−μ)2N\mu = \sum_{i=1}^N \frac{\log (X_i)}{N} \quad \sigma^2 = \sum_{i=1}^N \frac{\left(\log (X_i) - \mu\right)^2}{N}X¯= 经验(μ + 12σ2)。X¯=exp⁡(μ+12σ2).\bar{X} = \exp(\mu + \frac{1}{2}\sigma^2). 问题在于,与每个这些估计相对应的分布在系统上是不同的: …

2
ARIMA vs ARMA在不同系列上
在R(2.15.2)中,我在一个时间序列上安装了一次ARIMA(3,1,3),在一次有差异的时间序列上安装了一次ARMA(3,3)。拟合参数不同,这归因于ARIMA中的拟合方法。 同样,无论我使用哪种拟合方法,在与ARMA(3,3)相同的数据上拟合ARIMA(3,0,3)都不会得到相同的参数。 我有兴趣确定差异的出处以及可以使用哪些参数(如果有的话)拟合ARIMA,以获得与ARMA相同的拟合系数。 示例代码演示: library(tseries) set.seed(2) #getting a time series manually x<-c(1,2,1) e<-c(0,0.3,-0.2) n<-45 AR<-c(0.5,-0.4,-0.1) MA<-c(0.4,0.3,-0.2) for(i in 4:n){ tt<-rnorm(1) t<-x[length(x)]+tt+x[i-1]*AR[1]+x[i-2]*AR[2]+x[i-3]*AR[3]+e[i-1]*MA[1]+e[i-2]*MA[2]+e[i-3]*MA[3] x<-c(x,t) e<-c(e,tt) } par(mfrow=c(2,1)) plot(x) plot(diff(x,1)) #fitting different versions. What I would like to get is fit1 with ARIMA() fit1<-arma(diff(x,1,lag=1),c(3,3),include.intercept=F) fit2<-arima(x,c(3,1,3),include.mean=F) fit3<-arima(diff(x,1),c(3,0,3),include.mean=F) fit4<-arima(x,c(3,1,3),method="CSS",include.mean=F) fit5<-arima(diff(x,1),c(3,0,3),method="CSS",include.mean=F) cbind(fit1$coe,fit2$coe,fit3$coe,fit4$coe,fit5$coe) 编辑:使用条件平方和来的很接近,但还不完全是。感谢您对fit1的提示! Edit2:我不认为这是重复的。第2点和第3点解决的问题与我的不同,即使我重写了第1点提到的初始化, fit4<-arima(x,c(3,1,3),method="CSS",include.mean=F,init=fit1$coe) 我仍然得到不同的系数
13 r  time-series  arima  fitting  arma 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.