机器学习使用仅存在数据(无缺席)查找事件的驱动因素

人工智能 神经网络 机器学习 r
2021-11-17 12:24:26

我有一些关于确认存在某种动物的生态数据。我有以下数据:

Date
Relevant metadata about the site 
Simple metrics on the animal
A complete weather record for the site. 

我假设这种动物的存在是由天气事件驱动的,并且有关该站点的元数据可能是数据模式的重要因素。我的数据最终看起来是这样的。

#Date of observation
Date<-as.POSIXct(c("2015-01-01","2015-01-11","2015-01-19","2015-02-04","2015-02-12","2015-02-23","2015-04-01","2015-04-10","2015-04-16","2015-04-20"))

#Data about animal 
Size<-c(1,1,1,2,2,3,4,1,2,5)
Color<-c("B","B","R","R","R","R","B","B","B","Y" )
Length<-c(1,10,12,4,5,2,1,2,7,12)

#Weather Data
AirTempDayOf<-c(20,40,20,23,24,25,24,25,25,22)
WindSpeedDayOf<-c(2,3,2,3,4,3,2,3,4,5)
AirTempDayBefore<-c(21,40,22,23,24,24,24,27,25,22)
WindSpeedDayBefore<-c(2,5,2,6,4,3,6,3,2,5)
AirTemp2DayBefore<-c(21,45,22,23,34,24,24,23,25,23)
WindSpeed2DayBefore<-c(8,5,3,6,4,7,6,3,2,6)

#Metadata about site
Type<-c("Forest","Forest","Forest","Forest","Forest","Beach""Beach""Beach","Swamp","Swamp")
Population<-c(20,30,31,23,32,43,23,43,23,33)
Use<-c("Industrial","Commercial","Industrial","Commercial","Industrial","Commercial","Industrial","Commercial","Industrial","Commercial",)


DF<-data.frame(Date,Size,Color,Length,AirTempDayOf, WindSpeedDayOf,AirTempDayBefore,WindSpeedDayBefore,AirTemp2DayBefore,WindSpeed2DayBefore)

我没有的是缺勤数据,所以我无法对有机体何时不在现场做出任何假设。我想寻找推动这种生物到来的天气模式,但我所拥有的只是关于何时发现该生物的数据。

是否有可能应用某种机器学习来寻找可能推动这种动物到来的模式?如果我没有缺勤数据,我假设我不能。我研究了伪缺席模型,但我不知道它们在这里如何应用。

如果我不能使用机器学习来查看驱动程序是否存在这些动物,是否可以使用机器学习来查看可能与站点的某些元数据相关的天气模式?例如,可能与 Forrest vs Beach 栖息地相关的天气模式?

我通常将 R 用于我的统计数据,因此包括 R 包在内的任何答案都会有所帮助。

另外,请注意,这只是上面的示例数据集。我不希望在上述数据中找到任何模式,而且我的实际数据集要大得多。但是为上述数据开发的任何代码都应该适用

1个回答

是的。

由于您只有一种类型的数据,因此聚类分析可能是一个不错的选择。

您也可以尝试“一级学习”方法,尽管我过去发现这些方法不可靠。

R 中的聚类分析算法的一个示例是kmeans还有很多其他的。这些方法将揭示代表数据集大部分的点。通过检查“典型”案例以及它们之间的差异,您可以发现潜在的因果因素以进行实验测试。

一类学习算法的一个例子是一类支持向量机。大多数 svm 库将接受单个类的数据并用它做正确的事情。这是R 的 e1071 包的示例。