R语言Bass模型进行销售预测

简介: R语言Bass模型进行销售预测

BASS扩散模型

BASS扩散模型三个参数:#最终购买产品的总人数,m; 创新系数p; 和#系数的模仿,


q# exampleT79<-1:10Tdelt<-(1:100)/10Sales<-c(840,1470,2110,4000,7590,10950,10530,9470,7790,5890)Cusales<-cumsum(Sales)Bass.nls<-nls(Sales~M*(((P+Q)^2/P)*exp(-(P+Q)*T79))/(1+(Q/P)*exp(-(P+Q)*T79))^2,start=list(M=60630,P=0.03,Q=0.38))summary(Bass.nls)


##


## Formula: Sales ~ M * (((P + Q)^2/P) * exp(-(P + Q) * T79))/(1 + (Q/P) *


## exp(-(P + Q) * T79))^2


##


## Parameters:


## Estimate Std. Error t value Pr(>|t|)


## M 6.80e+04 3.13e+03 21.74 1.1e-07 ***


## P 6.59e-03 1.43e-03 4.61 0.0025 **


## Q 6.38e-01 4.14e-02 15.41 1.2e-06 ***


## ---


## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


##


## Residual standard error: 727 on 7 degrees of freedom


##


## Number of iterations to convergence: 8


## Achieved convergence tolerance: 7.32e-06


# get coefficient


Bcoef <- coef(Bass.nls)


m <- Bcoef[1]


p <- Bcoef[2]


q <- Bcoef[3]

#将M的起始值设置为记录的总销售额。


ngete <- exp(-(p + q) * Tdelt)


# plot pdf


Bpdf <- m * ((p + q)^2/p) * ngete/(1 + (q/p) * ngete)^2


plot(Tdelt, Bpdf, xlab = "Year from 1979", ylab = "Sales per year", type = "l")


points(T79, Sales)

# plot cdfBcdf <- m * (1 - ngete)/(1 + (q/p) * ngete)plot(Tdelt, Bcdf, xlab = "Year from 1979", ylab = "Cumulative sales", type = "l")points(T79, Cusales)


#当q = 0时,只有创新者没有模仿者。


Ipdf <- m * ((p + 0)^2/p) * exp(-(p + 0) * Tdelt)/(1 + (0/p) * exp(-(p + 0) *


Tdelt))^2# plot(Tdelt, Ipdf, xlab = 'Year from 1979',ylab = 'Isales per year',# type='l')Impdf <- Bpdf - Ipdfplot(Tdelt, Bpdf, xlab = "Year from 1979", ylab = "Sales per year", type = "l",


col = "red")lines(Tdelt, Impdf, col = "green")lines(Tdelt, Ipdf, col = "blue")


#当q = 0时


Icdf <- m * (1 - exp(-(p + 0) * Tdelt))/(1 + (0/p) * exp(-(p + 0) * Tdelt))


# plot(Tdelt, Icdf, xlab = 'Year from 1979',ylab = 'ICumulative sales',


# type='l')


Imcdf <- m * (1 - ngete)/(1 + (q/p) * ngete) - Icdf


plot(Tdelt, Imcdf, xlab = "Year from 1979", ylab = "Cumulative sales", type = "l",


col = "red")


lines(Tdelt, Bcdf, col = "green")


lines(Tdelt, Icdf, col = "blue")

相关文章
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
数据可视化
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码2
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
数据可视化 数据挖掘
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码1
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
前端开发 数据可视化
R语言广义线性混合模型(GLMM)bootstrap预测置信区间可视化
R语言广义线性混合模型(GLMM)bootstrap预测置信区间可视化
|
算法 搜索推荐
R语言混合SVD模型IBCF协同过滤推荐算法研究——以母婴购物平台为例
R语言混合SVD模型IBCF协同过滤推荐算法研究——以母婴购物平台为例
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码