我了解如何为多元时间序列创建模型,并且还知道如何为该序列生成多步输出。但如何扩展这个模型以处理多个时间序列呢?
我的数据包含许多国家/地区的时间序列,每个国家/地区有 5 个特征。我的目标是为每个国家提供未来 28 天的预测。
以下模型是一个编码器解码器 LSTM,能够生成 28 天的预测(尽管它们不是很准确):
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (None, 10) 640
_________________________________________________________________
repeat_vector_1 (RepeatVecto (None, 7, 10) 0
_________________________________________________________________
lstm_2 (LSTM) (None, 7, 10) 840
_________________________________________________________________
time_distributed_1 (TimeDist (None, 7, 5) 55
=================================================================
Total params: 1,535
Trainable params: 1,535
Non-trainable params: 0
_________________________________________________________________
Run Code Online (Sandbox Code Playgroud)
训练数据分为 7 天的时间段,每个时间段比前一个时间段提前一天。示例(但只有 1 个特征而不是 5 个):
[1, 2, 3, 4, 5, 6, 7], [2, 3, 4, 5, 6, 7, 8] ... …Run Code Online (Sandbox Code Playgroud) 我想预测包含 NA 行的新数据。我需要保持这些行在输入数据和预测输出中具有相同的行数。如何使用 R Caret 训练的随机森林模型来做到这一点?我为预测函数的参数 na.action 尝试了不同的值,例如:
predictions = predict(RF_model, newdata = newdata, type = "prob", na.action = "na.exclude")
Run Code Online (Sandbox Code Playgroud)
随着na.exclude和na.omit行被删除。我得到na.pass了一个错误输出“缺失值”。
编辑:模型已经过训练,我们正在谈论对全新数据的预测,其中一些不好。我知道我们无法预测这些不良数据,但我需要跟踪这些行。
我正在处理身体活动数据和后续疼痛数据。我有一个很大的数据集,但为了这个例子的摇动,我用我感兴趣的变量创建了一个小数据集。
由于我的身体活动数据本质上是组合的,因此我在使用这些变量作为混合效应模型中的预测变量之前使用组合数据分析。我的目标是使用 Predict() 函数来预测我创建的一些新数据,但我收到以下内容:
Error in rep(0, nobs) : invalid 'times' argument
我用谷歌搜索了一下,看到了几年前发布的一篇文章,但答案对我不起作用。
以下是数据集和我的代码:
library("tidyverse")
library("compositions")
library("robCompositions")
library("lme4")
dataset <- structure(list(work = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L,
3L, 3L, 4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor"),
department = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L, 4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor"),
worker = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L,
4L, 4L, 4L), …Run Code Online (Sandbox Code Playgroud) > reg.len <- lm(chao1.ave ~ lg.std.len, b.div) # b.div is my data frame imported from a CSV file
> reg.len
Call:
lm(formula = chao1.ave ~ lg.std.len, data = b.div)
Coefficients:
(Intercept) lg.std.len
282.4 -115.7
> newx <- seq(0.6, 1.4, 0.01)
> prd.len <- predict(reg.len, newdata=data.frame(x=newx), interval="confidence", level=0.90, type="response")
Error in eval(expr, envir, enclos) : object 'lg.std.len' not found
Run Code Online (Sandbox Code Playgroud)
我试过像这样做lm:lm(b.div$chao1.ave ~ b.div$lg.std.len)但是,然后,predict()警告新数据和变量的长度不同.所以,我尝试了上面的方法,现在predict()给出一个错误,说它无法识别对象.怎么解决,好吗?
我在具有多个位置的时间序列上运行VAR.假设loc1,loc2和loc3是时间序列数据的列名.
fitVAR = VAR(data,p=order,type = "both", ic = "AIC")
pred = predict(fitVAR,n.ahead = L)
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过pred$fcst$loc1[,1]等等来获得预测.但是假设我想编写一个函数来执行此操作,它将位置名称作为输入变量(例如,LOC=c("loc1","loc2","loc3")).我该怎么做?
我训练了一个svm模型.我想测试它,但我在predict()函数中遇到错误.为简单起见,我在这里将测试和训练数据拆分为非随机70/30分割.
library(e1071)
train <- mydata[1:9731, ]
test <- mydata[(9731+1):13901, ]
mysvm <- svm(formula = outcome ~ BW + GA, data = train, type = "C-classification", kernel = "linear", gamma = 1, cost = 2)
predict(mysvm, newdata=test)
Run Code Online (Sandbox Code Playgroud)
错误消息来自predict()是:
Error in names(ret2) <- rowns :
'names' attribute [4170] must be the same length as the vector [4106]
Run Code Online (Sandbox Code Playgroud)
数据的头部看起来像......
> head(mydata)
BW outcome GA
1 2.00 Survived 34
2 2.81 Survived 41
3 1.85 Survived 35
4 2.23 Survived 32
5 1.21 Survived …Run Code Online (Sandbox Code Playgroud) 我的输入是一个200 dims向量,它是通过文章中所有单词的word2vector生成的,我的输出是50 dims向量,它是由我想用mse作为损失函数的文章的LDA结果生成的,但损失的价值总是0我的代码如下:
<pre>model = Sequential()
model.add(Dense(cols*footsize, 400,init = "glorot_uniform"))
# model.add(LeakyReLU(alpha = 0.3))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(400, 400,init = "glorot_uniform"))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(400, 50,init = "glorot_uniform"))
model.add(Activation('softmax'))
model.compile(loss='mse', optimizer='rmsprop')</pre>
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么,谢谢!
我想请一些方法来预测R中的lm(线性模型),它接受反应变量.
如果你有一个带有y和x的线性模型"lm",那么可以为新数据提供"预测",为x提供新值.我想在闪亮的应用程序中为反应性y和x做到这一点
在下面的工作示例中,我以某种方式(任意地,只是为了使其工作)创建了lm的反应y和x值,并且还创建了一个输入以提供更改的新值(用作新x).
目标是在考虑y(),x()的情况下正确地获得新(输入)x的预测y.
library(shiny)
library(EnvStats)
ui <- fluidPage (
sidebarLayout(
sidebarPanel (
numericInput('variable1', 'new x', 0.1, min = 0, max = 100, step = 0.1)
),
mainPanel (plotOutput('plot1') )
)
)
server <- function(input, output){
# Initial data and linear regression that should be reactive,
# the dependency on input$variable1<1 is just an example to work with a lm based on reactive data.
y<- reactive (
if (input$variable1<1)
{ y <- c(3.1, 3.25, 3.5, 4, 3.5, 5, 5.5) } …Run Code Online (Sandbox Code Playgroud) 当我在我的测试数据上运行随机森林模型时,我得到的是相同数据集+模型的不同结果.
以下是您可以看到第一列的差异的结果:
> table((predict(rfModelsL[[1]],newdata = a)) ,a$earlyR)
FALSE TRUE
FALSE 14 7
TRUE 13 66
> table((predict(rfModelsL[[1]],newdata = a)) ,a$earlyR)
FALSE TRUE
FALSE 15 7
TRUE 12 66
Run Code Online (Sandbox Code Playgroud)
虽然差异非常小,但我正在努力了解导致这种情况的原因.我猜这predict有"灵活"的分类门槛,虽然我在文档中找不到; 我对吗?
先感谢您
import cv2
import numpy as np
faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml');
cam=cv2.VideoCapture(0);
rec=cv2.face.LBPHFaceRecognizer_create();
rec.load("recognizerr\\trainingData.yml")
id=0
fontface=cv2.FONT_HERSHEY_SIMPLEX
while(True):
ret,img=cam.read();
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces=faceDetect.detectMultiScale(gray,1.3,5);
for(x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
id,conf=rec.predict(gray[y:y+h,x:x+w])
if(id==1):
id="Name"
else:
id="Unknown"
cv2.putText(img,str(id),(x,y+h),fontface,2,(255,0,0),3);
cv2.imshow("Face",img);
if(cv2.waitKey(1)==ord('q')):
break;
cam.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
面对rec.load Traceback中的错误(最近一次调用最后一次):
文件"C:\ Users\DELL PC\Downloads\faceDetec_YOUTUBE-20171021T212250Z-001\recognition\detector.py",第7行,在rec.load("recognizerr\trainingData.yml")中AttributeError:'cv2.face_LBPHFaceRecognizer'对象有没有属性'load'