Questions tagged «smoothing»

数据分析中的平滑方法(例如样条曲线或核平滑器),以及回归平滑器(例如Lowess)。

3
如何与时间序列正确使用Pearson相关
我有2个时间序列(均平滑),我想对其进行互相关以了解它们之间的相关性。 我打算使用皮尔逊相关系数。这样合适吗 我的第二个问题是,我可以选择自己喜欢的两个时间序列。即,我可以选择我要我们的数据点数。这会影响输出的相关系数吗?我需要考虑这个吗? 出于说明目的 option(i) [1, 4, 7, 10] & [6, 9, 6, 9, 6] option(ii) [1,2,3,4,5,6,7,8,9,10] & [6,7,8,9,8,7,6,7,8,9,8,7,6]

2
为内核密度估计器选择带宽
对于单变量内核密度估计量(KDE),我使用Silverman规则计算:HHh 0.9 分钟(小号d,我Q R / 1.34 )× n− 0.20.9分(sd,一世问[R/1.34)×ñ-0.2\begin{equation} 0.9 \min(sd, IQR/1.34)\times n^{-0.2} \end{equation} 多元KDE(假设普通内核)的标准规则是什么?

4
边缘情况下精度和召回率的正确值是多少?
精度定义为: p = true positives / (true positives + false positives) 对不对,作为true positives和false positives做法0,精度接近1? 召回相同的问题: r = true positives / (true positives + false negatives) 我目前正在实施统计测试,需要计算这些值,有时分母为0,我想知道在这种情况下应返回哪个值。 PS:请原谅,不恰当的标签,我想用recall,precision和limit,但我不能创造新的标签呢。
20 precision-recall  data-visualization  logarithm  references  r  networks  data-visualization  standard-deviation  probability  binomial  negative-binomial  r  categorical-data  aggregation  plyr  survival  python  regression  r  t-test  bayesian  logistic  data-transformation  confidence-interval  t-test  interpretation  distributions  data-visualization  pca  genetics  r  finance  maximum  probability  standard-deviation  probability  r  information-theory  references  computational-statistics  computing  references  engineering-statistics  t-test  hypothesis-testing  independence  definition  r  censoring  negative-binomial  poisson-distribution  variance  mixed-model  correlation  intraclass-correlation  aggregation  interpretation  effect-size  hypothesis-testing  goodness-of-fit  normality-assumption  small-sample  distributions  regression  normality-assumption  t-test  anova  confidence-interval  z-statistic  finance  hypothesis-testing  mean  model-selection  information-geometry  bayesian  frequentist  terminology  type-i-and-ii-errors  cross-validation  smoothing  splines  data-transformation  normality-assumption  variance-stabilizing  r  spss  stata  python  correlation  logistic  logit  link-function  regression  predictor  pca  factor-analysis  r  bayesian  maximum-likelihood  mcmc  conditional-probability  statistical-significance  chi-squared  proportion  estimation  error  shrinkage  application  steins-phenomenon 

2
平滑-什么时候使用它,什么时候不使用?
威廉·布里格斯(William Briggs)的博客上有一篇很旧的文章,着眼于平滑数据的陷阱,并将平滑后的数据用于分析。关键参数是: 如果在一个疯狂的时刻,您对时间序列数据进行平滑处理并将其用作其他分析的输入,那么您将大大增加欺骗自己的可能性!这是因为平滑会感应出虚假信号,这些信号对于其他分析方法而言似乎是真实的。无论您做什么,都无法确定最终结果! 但是,我正在努力寻找有关何时进行平滑处理以及何时不进行平滑处理的全面讨论。 当使用该平滑数据作为其他分析的输入时,它只是不愿进行平滑处理吗?还是不建议进行平滑处理?相反,在某些情况下建议进行平滑处理吗?

2
如果可变的内核宽度通常对内核回归有利,那么为什么它们通常对内核密度估计不利?
这个问题是由其他地方的讨论引起的。 变量核通常用于局部回归。例如,黄土被广泛使用并且可以作为回归平滑器使用,并且基于适应数据稀疏性的可变宽度内核。 另一方面,通常认为可变核在核密度估计中导致较差的估计量(请参见Terrell和Scott,1992年)。 他们有一个直观的原因,为什么它们可以很好地进行回归而不是密度估计?

3
在Kneser-Ney平滑中,如何处理看不见的单词?
从我所看到的,(二阶)Kneser-Ney平滑公式在某种程度上给定为 P2KN(wn|wn−1)=max{C(wn−1,wn)−D,0}∑w′C(wn−1,w′)+λ(wn−1)×Pcont(wn)PKN2(wn|wn−1)=max{C(wn−1,wn)−D,0}∑w′C(wn−1,w′)+λ(wn−1)×Pcont(wn) \begin{align} P^2_{KN}(w_n|w_{n-1}) &= \frac{\max \left\{ C\left(w_{n-1}, w_n\right) - D, 0\right\}}{\sum_{w'} C\left(w_{n-1}, w'\right)} + \lambda(w_{n-1}) \times P_{cont}(w_n) \end{align} 归一化因子为λ(wn−1)λ(wn−1)\lambda(w_{n-1}) λ(wn−1)=D∑w′C(wn−1,w′)×N1+(wn−1∙)λ(wn−1)=D∑w′C(wn−1,w′)×N1+(wn−1∙) \begin{align} \lambda(w_{n-1}) &= \frac{D}{\sum_{w'} C\left(w_{n-1}, w'\right)} \times N_{1+}\left(w_{n-1}\bullet\right) \end{align} 和单词w_n的延续概率Pcont(wn)Pcont(wn)P_{cont}(w_n)wnwnw_n Pcont(wn)=N1+(∙wn)∑w′N1+(∙w′)Pcont(wn)=N1+(∙wn)∑w′N1+(∙w′) \begin{align} P_{cont}(w_n) &= \frac{N_{1+}\left(\bullet w_{n}\right)}{\sum_{w'} N_{1+}\left(\bullet w'\right)} \end{align} 其中N1+(∙w)N1+(∙w)N_{1+}\left(\bullet w\right)是在以下单词中看到的上下文数www,或更简单地,是在给定单词w之前的不同单词\ bullet的数量。据我了解,该公式可以递归应用。∙∙\bulletwww 现在,对于不同的n-gram长度,此方法可以很好地处理未知上下文中的已知单词,但是无法解释的是当词典单词超出单词时该怎么办。我尝试按照此示例进行说明,该示例指出在unigram的递归步骤中,Pcont(/)=P0KN(/)=1VPcont(/)=PKN0(/)=1VP_{cont}(/) = P^0_{KN}(/) = \frac{1}{V}。然后,文档使用这两个引号Chen和Goodman来证明上述公式为P1KN(w)=Pcont(w)PKN1(w)=Pcont(w)P^1_{KN}(w) = P_{cont}(w)。 …

2
如何平滑数据并强制单调性
我有一些要平滑的数据,以使平滑点单调递减。我的数据急剧下降,然后开始稳定。这是使用R的示例 df <- data.frame(x=1:10, y=c(100,41,22,10,6,7,2,1,3,1)) ggplot(df, aes(x=x, y=y))+geom_line() 我可以使用什么好的平滑技术?另外,如果我可以强制第一个平滑点接近观察点,那就太好了。

1
如何在mgcv GAM模型中调整平滑
我试图弄清楚如何在mgcv:gam模型中控制平滑参数。 我有一个二项式变量,我想主要将其建模为固定网格上x和y坐标的函数,以及一些其他影响较小的变量。过去,我使用locfit包和(x,y)值构建了一个相当不错的局部回归模型。 但是,我想尝试将其他变量合并到模型中,看起来通用加性模型(GAM)很有可能。看完gam和mgcv软件包后,它们都具有GAM功能,我选择了后者,因为邮件列表线程中的许多注释似乎都推荐它。缺点是它似乎不支持像黄土或locfit这样的局部回归平滑器。 首先,我只想尝试仅使用(x,y)坐标来复制locfit模型。我尝试使用常规和张量积平滑: my.gam.te <- gam(z ~ te(x, y), family=binomial(logit), data=my.data, scale = -1) my.gam.s <- gam(z ~ s(x, y), family=binomial(logit), data=my.data, scale = -1) 但是,绘制来自模型的预测,与locfit模型相比,它们要平滑得多。因此,我一直在尝试调整模型,使其不会过度平滑。我曾尝试过调整参数sp和k,但是我不清楚它们如何影响平滑度。在locfit中,nn参数控制所使用邻域的跨度,较小的值允许较少的平滑和更多的“摆动”,这有助于捕获网格上二项式结果的概率快速变化的某些区域。我将如何设置gam模型以使其表现相似?
14 r  smoothing  mgcv 

4
平滑时间序列数据
我正在构建一个Android应用程序,该应用程序在睡眠期间记录加速度计数据,以便分析睡眠趋势并有选择地在轻度睡眠期间将用户唤醒在所需时间附近。 我已经建立了收集和存储数据以及警报的组件。我仍然需要以一种非常有意义和清晰的方式来应对显示和保存睡眠数据的难题,最好也可以进行分析。 几张图片说了两千个字:(由于重复率低,我只能发布一个链接) 这是未过滤的数据,以30秒为间隔收集的移动总和 和相同的数据,通过我自己的移动平均平滑表现进行了平滑 编辑)这两个图表都反映了校准-有一个最小的``噪声''过滤器和一个最大截止过滤器以及一个警报触发电平(白线) 不幸的是,这些都不是最优的解决方案-第一个对于普通用户来说有点难以理解,第二个更容易理解,却隐藏了很多实际情况。特别是,平均消除了运动中尖峰的细节,我认为这些可能是有意义的。 那么,为什么这些图表如此重要?这些时间序列会在整个晚上作为对用户的反馈进行显示,并将在以后存储以供查看/分析。平滑处理将理想地降低内存成本(RAM和存储),并使这些资源匮乏的电话/设备上的渲染速度更快。 显然,有一种更好的方法来平滑数据-我有一些模糊的想法,例如使用线性回归来找出运动中的“尖锐”变化,并据此修改移动平均值的平滑度。在深入研究可以更优化地解决问题之前,我确实需要更多指导和意见。 谢谢!

2
卡尔曼滤波器何时会比简单的移动平均值给出更好的结果?
我最近在一个以随机速度和加速度测量粒子位置的简单示例上实现了卡尔曼滤波器。我发现卡尔曼滤波效果很好,但是随后我问自己,做一次移动平均线有什么区别?我发现,如果我使用约10个样本的窗口,则移动平均值优于Kalman滤波器,并且我试图寻找一个使用Kalman滤波器时仅使用移动平均值的优势的示例。 我觉得移动平均值比卡尔曼滤波器直观得多,您可以盲目地将其应用于信号,而不必担心状态空间机制。我觉得我在这里缺少一些基本的东西,希望有人能提供任何帮助。

5
从平滑数据中找到R中的拐点
我有一些可以平滑使用的数据loess。我想找到平滑线的拐点。这可能吗?我确定有人已经找到了解决这个问题的好方法...我的意思是...毕竟是R! 我可以更改使用的平滑功能。我刚刚使用过,loess因为那是我过去使用过的。但是任何平滑功能都可以。我确实意识到拐点将取决于我使用的平滑功能。我可以。我想通过仅具有任何有助于吐出拐点的平滑功能来开始。 这是我使用的代码: x = seq(1,15) y = c(4,5,6,5,5,6,7,8,7,7,6,6,7,8,9) plot(x,y,type="l",ylim=c(3,10)) lo <- loess(y~x) xl <- seq(min(x),max(x), (max(x) - min(x))/1000) out = predict(lo,xl) lines(xl, out, col='red', lwd=2)
14 r  smoothing  loess 

2
如何使用卡尔曼滤波器?
我在2D空间(表面)中有一个物体的轨迹。轨迹以(x,y)坐标序列的形式给出。我知道我的测量结果很嘈杂,有时会有明显的异常值。因此,我想过滤我的观察结果。 据我了解的卡尔曼滤波器,它确实满足了我的需求。因此,我尝试使用它。我在这里找到了python实现。这是文档提供的示例: from pykalman import KalmanFilter import numpy as np kf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]]) measurements = np.asarray([[1,0], [0,0], [0,1]]) # 3 observations kf = kf.em(measurements, n_iter=5) (filtered_state_means, filtered_state_covariances) = kf.filter(measurements) (smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements) 我在解释输入和输出时遇到了一些麻烦。我想这measurements正是我的测量值(坐标)。尽管我有点困惑,因为示例中的度量是整数。 我还需要提供一些transition_matrices和observation_matrices。我应该把什么放在那?这些矩阵是什么意思? 最后,在哪里可以找到我的输出?应该是filtered_state_means还是smoothed_state_means。这些阵列具有正确的形状(2, n_observations)。但是,这些数组中的值与原始坐标相距太远。 那么,如何使用该卡尔曼滤波器?


2
内核密度估计中的内核带宽
我正在进行一些内核密度估计,并在N维上设置了加权点(即,每个样本的权重都不是必需的)。而且,这些样本只是在度量空间中(即,我们可以定义它们之间的距离),而没有别的。例如,我们无法确定采样点的均值,标准差,也无法确定一个变量与另一个变量的比例。内核仅受此距离以及每个样本的重量的影响: f(x)=1.∑weightsi∗∑weightih∗Kernel(distance(x,xi)h)f(x)=1.∑weightsi∗∑weightih∗Kernel(distance(x,xi)h)f(x) = \frac{1.}{\sum weights_i} * \sum\frac{weight_i}{h} * Kernel(\frac{distance(x,x_i)}{h}) 在这种情况下,我试图为内核带宽找到一个鲁棒的估计,可能在空间上变化,并且最好在训练数据集x i上给出准确的重建。如有必要,我们可以假设函数相对平滑。hhhxixix_i 我尝试使用到第一个或第二个最近邻居的距离,但得出的结果很差。我尝试了留一法最优化,但是在Nd的这种情况下我很难找到一个最佳的方法来进行优化,因此它发现非常差的估计,尤其是对于训练样本本身。由于无法计算标准差,因此无法基于正常假设使用贪婪估计。我发现使用协方差矩阵来获取各向异性内核的引用,但同样,它在该空间中不成立... 有人有想法或参考吗?

4
如何获取mgcv中plot.gam中使用的值?
我想找出在mgcv软件包(x, y)中绘图所使用的值。有谁知道我如何提取或计算这些值?plot(b, seWithMean=TRUE) 这是一个例子: library(mgcv) set.seed(0) dat <- gamSim(1, n=400, dist="normal", scale=2) b <- gam(y~s(x0), data=dat) plot(b, seWithMean=TRUE)

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.