我每天都有相当长的通勤时间——大约一个小时到一个半小时左右的车程。
我一直在跟踪我的驾驶时间,并希望继续这样做。我正在记录日期、我的出发时间、我的到达时间、我所走的路线(有两种或三种可能的路线)、天气状况(潮湿/干燥和晴朗/朦胧/有雾),以及我是否停下来(和如果是这样,出于什么原因 - 每次上下班途中的燃料/厕所休息/食物休息,以及多长时间。
我想创建一个系统来分析这些数据,并根据星期几、天气状况以及我是否需要停下来建议最佳出发时间(下一次旅程)。
有趣的是,我可以看到周二的早晨比其他早晨更糟糕,我越早离开,我就越有可能去上厕所或吃东西,而且很明显,雨天或雾天的旅程比晴天和干燥的时候要长天-但我希望系统凭经验告诉我!
我认为这是一个机器学习和统计分析问题。
但是,我对机器学习或统计方法一无所知。
我应该使用什么样的统计方法来进行这种分析,以至于数据会导致诸如“明天是星期二并且要下雨,所以你必须在 7.50 到 8.00 之间离开家,走 XYZ 路线,去获得最佳驾驶时间。哦,你可能需要上厕所——我已经考虑到了”?(假设我手动输入明天的天气预报 - 我稍后会考虑与天气服务集成)
请注意,这对我来说是一种生活黑客,试图从一个乏味的过程中优化地狱,这是非常个人化的——特定于我和我的习惯,特定于这条路线,特定于早上/晚上的通勤时间。Google Maps with Traffic、TomTom with IQ 和 Waze 在更开放的临时驾驶时间预测情况下表现出色。甚至 Apple 也很乐意在我的 iPhone 通知屏幕上告诉我,如果我现在离开,我需要多长时间才能回家。
另请注意,在我看来,交通不是一个考虑因素——也就是说,我认为我不需要知道实际的交通状况——交通是星期几和天气的函数。例如,周一和周二早上道路上的人更多,人们开得更慢,下雨时更多的人坐在汽车里(选择开车而不是骑自行车或乘坐公共交通工具)。
我可以在多大程度上让数据说话?我有一个有点模棱两可的隐藏议程,从数据中可能看不出来;
- 我应该每天 9.30(即 9.15 +/- 15 分钟)上班,但偶尔上午 10 点到达是可以的
- 我想尽可能晚离开家,但尽可能早到工作
- 我想尽早下班,但至少已经完成了 8 小时的工作
- 我可以,比如说,一天提前半小时离开,但另一天迟到以补偿
我想我可以想出一个包含所有这些规则的程序公式,但我的直觉是统计分析可以让它变得更聪明。
除了分析方法,技术栈不是问题。Java 是我选择的语言——我非常熟悉用它进行编程以及创建 Web 应用程序。
假设有可能,是否有 Java 库可以提供必要的方法?
有什么限制?我想每天继续捕获越来越多的数据,使数据集更大,希望使预测更准确。
还有什么其他方法可以做到这一点?我可以将这些数据推送到 Wolfram Programming Cloud,或者谷歌提供的东西以获得所需的结果吗?