Logistics 模型

2024-01-29 07:20
文章标签 模型 logistics

本文主要是介绍Logistics 模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 算法介绍

logistics 方程由比利时数学家Pierre François Verhulst提出,是一个对S型曲线进行数学描述的模型。这个方程应用于一些特殊的领域建模与预测,例如单位面积内某种生物的数量、人口数量等社会经济指标、某种商品(例如手机)的普及率等。

2 原理

logistics 方程定义:

x t = 1 c + a e b t (1) x_t = \frac{1}{c+ae^{bt}} \tag{1} xt=c+aebt1(1)

其中,t 表示时间变量,a,b,c 为模型的参数;当趋势比较完整时, a > 0 , b < 0 , c > 0 a>0, b<0, c>0 a>0,b<0,c>0 。其曲线如下图:

在这里插入图片描述

根据方程和图像可知:

t → − ∞ , x ( t ) → 1 / c t \to -\infty,x(t) \to 1/c tx(t)1/c。为研究 Logistics 曲线好的增长特性,对 Logistics 方程求一阶导数:

d x d t = − a b e b t ( c + a e b t ) 2 > 0 \frac{dx}{dt}=\frac{-abe^{bt}}{{(c+a e^{bt})}^2} > 0 dtdx=(c+aebt)2abebt>0

2.1 Yule 算法

根据方程 (1),微分写成差分式:

x t + 1 − x t x t + 1 \frac{x_{t+1}-x_t}{x_{t+1}} xt+1xt+1xt

= 1 − x t x t + 1 = 1 - \frac{x_t}{x_{t+1}} =1xt+1xt

= 1 − c + a e b ( t + 1 ) c + a e b t = 1 - \frac{c+ae^{b(t+1)}}{c+ae^{bt}} =1c+aebtc+aeb(t+1)

= ( a e b t + c − c ) ( 1 − e b ) c + a e b t = \frac{(ae^{bt}+c-c)(1-e^b)}{c+ae^{bt}} =c+aebt(aebt+cc)(1eb)

= ( 1 − e b ) − c ( 1 − e b ) x t = (1-e^b)-c(1-e^b)x_t =(1eb)c(1eb)xt

z t = x t + 1 − x t x t + 1 , γ = 1 − e b , β = − c ( 1 − e b ) z_t=\frac{x_{t+1}-x_t}{x_{t+1}}, \gamma=1-e^b, \beta=-c(1-e^b) zt=xt+1xt+1xt,γ=1eb,β=c(1eb),那么上面的方程可以写成线性方程:

z t = γ + β x t z_t=\gamma+\beta x_t zt=γ+βxt

利用最小二乘法(OLS)可以得到这个方程参数的估计值,进而 b 和 c 的估计值也可以进一步得到。

为了得到 a 的估计值,Logistics 方程两边同时取对数:

l n ( 1 x t − c ^ ) = l n a ^ + b ^ t (2) ln(\frac{1}{x_t}-\hat{c})=ln \hat{a}+\hat{b}t \tag{2} ln(xt1c^)=lna^+b^t(2)

左右分别对 t 求和:

∑ t = 1 n l n ( 1 x t − c ^ ) = n l n a ^ − n ( n + 1 ) 2 b ^ (3) \sum_{t=1}^{n} ln(\frac{1}{x_t}-\hat{c})=nln\hat{a}-\frac{n(n+1)}{2}\hat{b} \tag{3} t=1nln(xt1c^)=nlna^2n(n+1)b^(3)

可以很容易得到 a 的估计值:

a ^ = e x p ( 1 n ( ∑ t = 1 n l n ( 1 x t − c ^ − n ( n + 1 ) 2 b ^ ) ) ) (4) \hat{a}=exp \left( \frac{1}{n} \left( \sum_{t=1}^n ln(\frac{1}{x_t}-\hat{c}-\frac{n(n+1)}{2}\hat{b}) \right) \right) \tag{4} a^=exp(n1(t=1nln(xt1c^2n(n+1)b^)))(4)

2.2 Rhodes 算法

根据 Logistics 方程可以得到:

1 x t + 1 \frac{1}{x_{t+1}} xt+11

= c + a e b ( t + 1 ) = c + ae^{b(t+1)} =c+aeb(t+1)

= c − c e b + c e b + a e b ( t + 1 ) =c-ce^b+ce^b+ae^{b(t+1)} =cceb+ceb+aeb(t+1)

= c ( 1 − e b ) + e b x t =c(1-e^b)+\frac{e^b}{x_t} =c(1eb)+xteb

z t = 1 x t + 1 、 s t = 1 x t 、 γ = c ( 1 − e b ) 、 β = e b z_t=\frac{1}{x_{t+1}}、s_t=\frac{1}{x_t}、\gamma =c(1-e^b)、\beta =e^b zt=xt+11st=xt1γ=c(1eb)β=eb,那么该方程可以写成线性方程:

z t = γ + β s t z_t=\gamma + \beta s_t zt=γ+βst

利用最小二乘法(OLS)可以得到这个方程参数的估计值,进而 b 和 c 的估计值也可以进一步得到。利用方程 (2)-(4) 可以得到 a 的估计值。

2.3 Nair 算法

Yule 算法的差分式结果可以进一步写成:

x t + 1 − x t x t + 1 = ( 1 − e b ) ( 1 − c x t ) \frac{x_{t+1}-x_t}{x_{t+1}}=(1-e^b)(1-cx_t) xt+1xt+1xt=(1eb)(1cxt)
1 1 − e b = x t + 1 ( 1 − c x t ) x t + 1 − x t \frac{1}{1-e^b}=\frac{x_{t+1}(1-cx_t)}{x_{t+1}-x_t} 1eb1=xt+1xtxt+1(1cxt)
1 + e b 1 − e b = 2 1 − e b − 1 \frac{1+e^b}{1-e^b}=\frac{2}{1-e^b}-1 1eb1+eb=1eb21
= 1 x t + 1 x t + 1 − 2 c 1 x t − 1 x t + 1 =\frac{\frac{1}{x_t}+\frac{1}{x_{t+1}}-2c}{\frac{1}{x_t}-\frac{1}{x_{t+1}}} =xt1xt+11xt1+xt+112c

进一步整理得到;

1 x t − 1 x t + 1 = 1 − e b 1 + e b ( 1 x t + 1 x t + 1 ) − 2 c ( 1 − e b ) 1 + e b (5) \frac{1}{x_t}-\frac{1}{x_{t+1}} = \frac{1-e^b}{1+e^b}(\frac{1}{x_t}+\frac{1}{x_{t+1}})-\frac{2c(1-e^b)}{1+e^b} \tag{5} xt1xt+11=1+eb1eb(xt1+xt+11)1+eb2c(1eb)(5)

z t = 1 x t − 1 x t + 1 、 s t = 1 x t + 1 x t + 1 、 γ = 2 c ( 1 − e b ) 1 + e b 、 β = 1 − e b 1 + e b z_t=\frac{1}{x_t}-\frac{1}{x_{t+1}}、s_t=\frac{1}{x_t}+\frac{1}{x_{t+1}}、\gamma =\frac{2c(1-e^b)}{1+e^b}、\beta = \frac{1-e^b}{1+e^b} zt=xt1xt+11st=xt1+xt+11γ=1+eb2c(1eb)β=1+eb1eb ,那么方程 (5) 可以写成线性方程:

z t = γ + β s t z_t = \gamma + \beta s_t zt=γ+βst

利用最小二乘法(OLS)可以得到这个方程的参数估计值,进而 b 和 c 的估计值也可以得到,利用方程 (2)-(4) 可以得到 a 的估计值。

3 Logistics 模型与 Logistics 回归理解与使用

Logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。Logistic回归的因变量可以是二分类的,也可以是多分类的。

3.1 Logistic回归跟多元线性回归差不多,但是有区别
  • 线性回归:y是一个定量的变量,这时y对于不同的自变量来说有相应的值。
  • Logistic回归:y是一个定性的变量,比如y只能等于0或1。
3.2 模型的基本形式

P ( Y = 1 ∣ x 1 , x 2 , . . . , x n ) = e x p ( β 0 + β 1 x 1 + . . . + β n x n ) 1 + e x p ( β 0 + β 1 x 1 + . . . + β n x n ) P(Y=1 | x_1, x_2, ..., x_n)=\frac{exp(\beta _0+\beta _1x_1 + ... + \beta _n x_n)}{1+exp(\beta _0+\beta _1x_1 + ... + \beta _n x_n)} P(Y=1∣x1,x2,...,xn)=1+exp(β0+β1x1+...+βnxn)exp(β0+β1x1+...+βnxn)

在实际应用该模型的时候,常常不是不是直接对P进行回归,而是先 定义单调连续概率函数 π \pi π

π = P ( Y = 1 ∣ x 1 , x 2 , . . . , x n ) , 0 < π < 1 \pi=P(Y=1 | x_1, x_2, ..., x_n), 0 < \pi < 1 π=P(Y=1∣x1,x2,...,xn),0<π<1

于是Logistic模型就可以变形为:

l n π 1 − π = β 0 + β 1 x 1 + . . . + β n x n , 0 < π < 1 ln\frac{\pi}{1- \pi}=\beta _0+\beta _1x_1 + ... + \beta _n x_n, 0 < \pi < 1 ln1ππ=β0+β1x1+...+βnxn,0<π<1

即:

l n π 1 − π = β 0 + β 1 x 1 + . . . + β n x n , 0 < π < 1 (1) ln\frac{\pi}{1- \pi}=\beta _0+\beta _1x_1 + ... + \beta _n x_n, 0 < \pi < 1 \tag{1} ln1ππ=β0+β1x1+...+βnxn,0<π<1(1)

π = e x p ( β 0 + β 1 x 1 + . . . + β n x n ) 1 + e x p ( β 0 + β 1 x 1 + . . . + β n x n ) (2) \pi=\frac{exp(\beta _0+\beta _1x_1 + ... + \beta _n x_n)}{1+exp(\beta _0+\beta _1x_1 + ... + \beta _n x_n)} \tag{2} π=1+exp(β0+β1x1+...+βnxn)exp(β0+β1x1+...+βnxn)(2)

P = { 0 π ≤ A 1 π ≥ 1 − A (3) P=\begin{cases} 0 & \pi \le A \\ 1 & \pi \ge 1 - A \end{cases} \tag{3} P={01πAπ1A(3)

通过多元线性回归解出 β 0 , β 1 , . . . , β n \beta _0, \beta _1, ..., \beta _n β0,β1,...,βn ,带入求得 π \pi π ,根据 π \pi π 的值判断 P 的取值。

这篇关于Logistics 模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/656161

相关文章

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行