我正在编写一个应用程序,让糖尿病患者输入他/她的“血糖”读数,然后从左到右随时间在图表上绘制图表。由于血液读数每天只进行几次,因此算法很方便:
a)在读数之间填充图表上的空白(曲线比生涩的线条更真实)并允许更准确的“血糖水平”每日平均值
b)粗略预测将来会发生什么(如果用户没有吃任何会影响他血液水平的事情)我嘲笑微积分。我希望有人知道这个东西的图书馆吗?我希望有人知道已经为这个特定问题量身定制的算法(例如:有人将其与糖尿病患者的真实数据进行比较)
免责声明:我非常清楚任何此类算法都会因用户而异。我只是想改进直角线。无论糖尿病患者如何,血糖升高和降低的速度都是有限的。
我正在使用Javascript,但因为它只是数学,我可以从C,Java或其他任何东西移植它。
答案 0 :(得分:43)
血糖行为非常复杂。受
的影响非常难的问题。你选择的任何启发式--- 任何启发式 - 都会产生很大的误导性。如此简短的回答:
不要这样做。
这部分来自将糖尿病患者的24小时连续葡萄糖测井与同时服用的~10次手指刺激进行比较。即我的建议是数据驱动。
编辑:显然我没有说清楚。
你甚至无法接近。
使用手指刺破数据无法做到的任何事情都可以远程可靠。
将点与任何线(甚至是直线段)连接起来只是错误。它并不反映现实。甚至没有一点点。
我是一名实验粒子物理学家。我所做的就是复杂的数据集。我生命中有一个糖尿病患者(你猜到了吗?)。这对我很重要。
但是我已经看到了高频率数据日志,并列了手指刺,运动,食物和胰岛素的日志。
如果你能得到每十五分钟的数据,我会说继续使用样条曲线。这不会有危险的误导。但是,如果你当天有6到10个测量值,你知道 nothing 。
好消息:持续监控价格正在降低。它已经离开实验室,现在甚至可以使用一些泵。
对于那些不熟悉这一点的人:合规的糖尿病患者(非常不科学的民意调查的结果)当然,每天4-6 +葡萄糖测试,并且在任何后1-2小时内测试几个额外的葡萄糖意外的游览(他们得到的身体症状可以让他们发现严重的短途旅行)。
这可以让患者大致了解他们如何控制血糖水平,但他们也去实验室每隔四分之一(左右)抽取血红蛋白A1C。 A1C结果主要取决于他们的平均血糖。
我和那些每天四次以80-110(非常有利的数字)计时数月的人交谈过,并且回到了A1C,表明平均值超过150(根本不可取)。可以预见他们在夜间走高。而且我也听过类似的故事,这些故事可能是我们可能会低 - 很低 - 在睡梦中。
课程是:
手指点刺读数有它们的位置,但不要试图将它们推断到没有很好采样的时间。
答案 1 :(得分:2)
如果您想直接拟合数据以便于查看,那么Charlie Martin推荐的内容可能效果很好。但是,如dmckee所述,这些数据实际上并不意味着什么。
你要做的事实上更符合pharmacokenetics,这本身就是一项完整的科学研究。在这种情况下,我甚至不确定它是否完全适用,除了在I型糖尿病的情况下,因为我所知道的关于药物学的大部分内容仅适用于药物研究,但如果身体正在生产某些东西那么你可能完全在看不同类型的分析。如果您对该主题感兴趣,那么如果您搜索“Google Books”,则pharmacokienetics会有相当多的图书预览,但由于该主题的性质,他们非常重数学,并认为你也对化学和生物学有所了解。
答案 2 :(得分:1)
最好的办法是找一个可以使用的罐头例程;这些存在于大多数统计数据包中。给我们一些关于您想要的环境的更多细节,我们可能会更贴近您的相应内容。
答案 3 :(得分:1)
这很可能不会起作用,但人工神经网络可能,并且我重复可能能够从良好的数据集中获取某些东西。好的,我的意思是连续录制几周或几个月,即便如此,我也不相信数据集,除非我非常有充分的理由。我也不认为你会从中得到预测数据,但这可能取决于你如何实现它。总的来说,如果你这样做,看起来甚至更接近似乎是一个爱好的事情,比如“哦,我有一个神经网络,在X精度范围内”。同样,我必须强调,不要在任何生产环境中或任何可能伤害或杀死某人的地方使用它!