我一直在寻找使用R来识别多变量异常值的最佳方法,但我认为我还没有找到任何可信的方法.
我们可以将虹膜数据作为示例,因为我的数据还包含多个字段
data(iris)
df <- iris[, 1:4] #only taking the four numeric fields
Run Code Online (Sandbox Code Playgroud)
首先,我正在使用距离图书馆MVN的马哈拉诺比斯距离
library(MVN)
result <- mvOutlier(df, qqplot = TRUE, method = "quan") #non-adjusted
result <- mvOutlier(df, qqplot = TRUE, method = "adj.quan") #adjusted Mahalonobis distance
Run Code Online (Sandbox Code Playgroud)
两者都产生了大量的异常值(非调整的150个中有50个,调整后为49/150个),我认为需要更多的改进.遗憾的是,我似乎无法在mvOutlier方法中找到一个设置阈值的变量(表示增加一个点为异常值的概率,因此我们的数字较小)
其次,我使用了异常库.这是为了找到单变量异常值.因此,我的计划是在数据的每个维度上找到异常值,并且那些在所有维度上都是异常值的点被视为数据集的异常值.
library(outliers)
result <- scores(df, type="t", prob=0.95) #t test, probability is 0.95
result <- subset(result, result$Sepal.Length == T & result$Sepal.Width == T & result$Petal.Length == T & result$Petal.Width == T)
Run Code Online (Sandbox Code Playgroud)
为此,我们可以设置概率,但我不认为它可以取代多变量异常值检测.
我试过的其他一些方法
我们现在正在使用GWO(Google网站优化工具).多变量和A/B测试正是我们所需要的,并且从显示用户变化的角度来看效果很好.但是,我们有几个问题让我想要使用不同的工具:
是否有像GWO这样的好工具可以与Google Analytics(我喜欢)一起使用?
更新:我们选择了Optimizely并且一直很高兴.但是,它可能很难处理,因为它对你来说有点太多了.您可以直接从他们的UI编辑您的网页,但这当然并不容易,甚至可能.特别是当涉及Javascript时.我们的UI经常在这个过程中搞砸了.我喜欢GWO的方法,因为开发人员将代码分开,营销人员可以用开发人员允许的变量填写这些部分.对我来说这是理想的,除了GWO,当然,实际上并不起作用.
Optimizely的竞争对手名为Visual Website Optimizer.看起来也很漂亮,但我上面描述了同样的问题.
是否有GWO有效?
javascript google-analytics google-website-optimizer multivariate-testing optimizely
作为每月200万个独特网站的产品拥有者,我想进行一些A/B测试,我可以使用Google Analytics目标跟踪这些测试,而无需为其他在线测试服务支付高额费用.使用Google自己的内容实验需要使用JS进行重定向,我不希望冒着页面加载性能受到影响的风险,并且可以自由使用超过CE限制的5种变体.
这个答案引起了我对使用Route53避免谷歌内容实验的兴趣:
Google Analytics内容实验A/B测试没有页面刷新的服务器端代码
我想知道如何服务和跟踪这些变化.
据我所知,Route53在DNS级别运行,可以将流量负载平衡到不同的IP,因此我可以为mydomain.com提供50%/ 50%到200.0.0.1和200.0.0.2.然后,我可以使用服务器端代码来确定正在使用的IP,并为Google Analytics提供不同的JS跟踪代码.
然后,如果用户有或未到达我的GA目标页面,我可以衡量我的广告系列的效果吗?
这是正确的还是我遗漏了GA或网站设置中的内容?
我想使用多个预测变量来预测多个因变量.如果我理解正确,原则上可以制作一组线性回归模型,每个模型预测一个因变量,但如果因变量是相关的,那么使用多元回归更有意义.我想做后者,但我不确定如何.
到目前为止,我还没有找到专门支持此功能的Python包.我尝试过scikit-learn,尽管他们的线性回归模型示例仅显示y是一个数组(每个观察一个因变量)的情况,但它似乎能够处理多个y.但是,当我将这种"多变量"方法的输出与我通过手动循环每个因变量并相互独立地预测它们得到的结果进行比较时,结果完全相同.我不认为应该是这种情况,因为一些因变量(> 0.5)之间存在很强的相关性.
代码只是看起来像这样,与y任一个n x 1矩阵或n x m矩阵,并且x和newx各种尺寸的矩阵(行数中x == n).
ols = linear_model.LinearRegression()
ols.fit(x,y)
ols.predict(newx)
Run Code Online (Sandbox Code Playgroud)
此功能是否实际执行多元回归?
python machine-learning linear-regression multivariate-testing scikit-learn
尝试寻找这个,但我的谷歌福今天缺乏.
所以我有两个版本的网站,在
/var/www/vhosts/testa.mydomain.com/httpdocs and
/var/www/vhosts/testb.mydomain.com/httpdocs
Run Code Online (Sandbox Code Playgroud)
每个文档都是一个完整的站点大修,我想进行A/B(多变量)测试,看看哪个站点表现更好.
谷歌搜索上周我看到了基于这个时间(甚至是奇数秒)的建议,但由于该网站是一个篮子网站(或者甚至可能是一个篮子的情况!),我不想在两个不同的处理场景之间徘徊-交易.
所以我认为如果客户端IP地址的最后一个八位位数是偶数,那么从testa服务是好的,而如果最后一个八位位数是奇数,则从testb服务.然后,我们至少可以获得一些指标,说明有多少人放弃了这个篮子,因为在不同版本的网站上太过笨重.
我很确定基于%{REMOTE_ADDR}的一堆RewriteCond行会做到这一点,但我在mod_rewrite上很无聊.
用户将访问test.mydomain.com,并且应该从一个或另一个DocumentRoot均匀地提供服务,而不是在他们的URL中看到testa或testb,但我们可以记录每个变体的性能.
任何善良的大师都能提供建议吗?
TIA大卫
更新:我可以通过虚拟主机将testa.mydomain和testb.mydomain设置为子域,如果有帮助的话.
第一次在这里提出问题时,我会尽力做到明确-但请告知我是否应该提供更多信息!其次,这是一个漫长的问题...希望很容易为某人解决;)!因此,我使用“ R”基于某些论文对多元GARCH模型进行建模(Manera等人,2012年)。
我用均值方程中的外部回归模型对恒定条件相关(CCC)和动态条件相关(DCC)模型进行建模。对于带有外部回归变量的单变量GARCH,使用“ R”版本3.0.1和“ rugarch”版本1.2-2软件包,以及对CCC / DCC模型使用“ ccgarch”软件包(版本0.2.0-2)。(我目前正在研究“ rmgarch”软件包-但这似乎仅用于DCC,我也需要CCC模型。)
我的模型平均方程式有问题。在上面提到的论文中,CCC和DCC模型之间的均值方程的参数估计值发生了变化!而且我不知道我将如何在R中执行此操作...(目前,在Google上以及Tsay的书“财务时间序列分析”和Engle的书“预期相关性”中查找我的错误)
我的意思是“我的平均方程在CCC和DCC模型之间不变”,它表示以下内容:我为带有打包rugarch的n = 5时间序列指定了单变量GARCH。然后,我使用GARCH的估算参数(ARCH + GARCH术语),并将其用于CCC和DCC函数“ eccc.sim()”和“ dcc.sim()”。然后,从eccc.estimation()和dcc.estimation()函数中,我可以获取方差方程以及相关矩阵的估计。但不是针对均值方程。
我仅针对单变量模型和CCC模型发布R代码(可复制的代码和我的原始代码)。已经感谢您阅读我的帖子!!!!
注意:在下面的代码中,“ data.repl”是昏暗的843x22的“ zoo”对象(9种每日商品返回系列和说明变量系列)。多元GARCH仅适用于5系列。
可复制的代码:
# libraries:
library(rugarch)
library(ccgarch)
library(quantmod)
# Creating fake data:
dataRegr <- matrix(rep(rnorm(3149, 11, 1),1), ncol=1, nrow=3149)
dataFuelsLag1 <- matrix(rep(rnorm(3149, 24, 8),2), ncol=2, nrow=3149)
#S&P 500 via quantmod and Yahoo Finance
T0 <- "2000-06-23"
T1 <- "2012-12-31"
getSymbols("^GSPC", src="yahoo", from=T0, to=T1)
sp500.close <- GSPC[,"GSPC.Close"],
getSymbols("UBS", src="yahoo", from=T0, to=T1)
ubs.close <- UBS[,"UBS.Close"]
dataReplic <- merge(sp500.close, ubs.close, all=TRUE)
dataReplic[which(is.na(dataReplic[,2])),2] <- 0 …Run Code Online (Sandbox Code Playgroud) WeightLoss我正在尝试根据包中的数据集制作箱线图car。感兴趣的变量按月分隔,因此我分别按月绘制箱线图,显示所有组(对照组、饮食组、饮食组和运动组)。我只想在 1 个而不是 3 个箱线图中获得饮食组的箱线图及其 3 个月内的体重减轻情况。为了澄清,我需要ylab="Weight loss"和xlab="Month"作为我的轴。但我不知道如何做到这一点。
这是我能够制作的第一组可行的箱线图,但它们按月份分隔,并且所有组都显示在箱线图中。
library(car)
library(DescTools)
boxplot(wl1 ~ group, data=WeightLoss,
main="Weight Loss after 1 month",
ylab="Weight loss",
xlab="Group")
boxplot(wl2 ~ group, data=WeightLoss,
main="Weight Loss after 2 months",
ylab="Weight loss",
xlab="Group")
boxplot(wl3 ~ group, data=WeightLoss,
main="Weight Loss after 3 months",
ylab="Weight loss",
xlab="Group")
Run Code Online (Sandbox Code Playgroud)
我尝试将我只想这样的组分开:
boxplot(wl1 ~ group$Diet, data=WeightLoss,
main="Weight Loss after 1 month",
ylab="Weight loss",
xlab="Group")
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
Error in group$diet : $ operator is
invalid for atomic vectors
Run Code Online (Sandbox Code Playgroud) 所以我是新手.我需要在以下数据矩阵上运行PCoA.我可以使用ADE4,labdsv,Ginko,Aabel软件运行我的分析.困扰我的是如何在散点图中对标签进行颜色编码.我的矩阵是按顺序存在/不存在矩阵:
SpecieName Value1 Value2
A1 0 1
A2 1 1
A3 1 1
B1 0 0
B2 0 1
E1 1 0
E2 0 0
Run Code Online (Sandbox Code Playgroud)
我想就是代表A1,A2和A3红色,B1并且B2在蓝色和所有E在黑色的.任何帮助将不胜感激.
r scatter-plot pca multivariate-partition multivariate-testing
Google对此的结果似乎需要比我所熟悉的更高级的数学(而且我可能不比五年级学生更聪明,但我无意找出答案)。
我正在寻找一种解决多元优化问题的通用方法,最好是在c#中,而不必深入研究矩阵和特征向量以及正态分布。
说我有数字变量X,Ÿ,ž,和w ^,和功能˚F这样w = f(x, y, z)。我想最大化w,然后...
f 未知x,y和/或z,如果有,是未知的x,y然后按需z重新采样ww与最少试验排列x,y,和z,和每一轮抽样之后选择用于每个的下一个值我对自变量有一个大概的最小和最大界限。我当然不想采样超出必要的排列空间。我喜欢的算法以具有至少为检测最突出的共同的依赖关系,例如一个粗的能力,收益递减时x> 2y,或在实际的劣化w的当总和x,y和z超过一定天花板等
我看过的大多数数学库都假设我知道如何在Boigenfoodle Continuum上执行量子nergenflip投影,而我只是不在那里。一个非数学家的编码器将如何做到这一点?
有一个叫做prophet的r包,非常好。它是一个广义的加法模型。因变量是您要解决的指标,自变量是:增长函数、季节性函数和一个变量,该变量将解释在这两个变量中找不到的东西。我希望能够添加另一个自变量。例如:
假设我想解决页面浏览量。我有过去九年的数据,在这个包中,它将考虑季节性和增长率来解决这个问题。我将如何包含另一个自变量,例如“温度”?
这是等式在幕后的样子:
Page_Views = g(t) + s(t) + e(t)
Run Code Online (Sandbox Code Playgroud)
我想添加另一个变量:
Page_Views = g(t) + s(t) + Beta(Temperature) + e(t)
Run Code Online (Sandbox Code Playgroud)
我将如何在先知包中做到这一点?
以下是有关如何使用该软件包的教程:https : //cran.r-project.org/web/packages/prophet/vignettes/quick_start.html
数据在这里找到:https : //github.com/facebookincubator/prophet/blob/master/examples/example_wp_peyton_manning.csv
library(prophet)
m<-prophet(df)
future <- make_future_dataframe(m, period = 365)
forecast <- prophet:::predict.prophet(m, future)
plot(m, forecast)
Run Code Online (Sandbox Code Playgroud)
我想知道的主要问题是:“有没有办法在prophet包中为我的广义加法模型添加一个额外的自变量?
谢谢,任何帮助都会很棒!
r ×5
algorithm ×1
anova ×1
apache ×1
c# ×1
forecasting ×1
gam ×1
javascript ×1
mahalanobis ×1
manova ×1
mod-rewrite ×1
optimization ×1
optimizely ×1
outliers ×1
pca ×1
python ×1
scatter-plot ×1
scikit-learn ×1
time-series ×1
volatility ×1