统计计算基于R——基本概念(附代码)

一、问题适定性与算法稳定性

适定性定义为输入微小变化对输出量的影响。在实际过程中我们希望初值的测量的一定误差不会给最终结果带来太大的影响,因此为了问题的适定性,定义条件数如下 

f%28x%29%20%5Cright%20%7C   一元可微函数时成立

当条件数较小比如 eq?%5Ckappa%3C10 的时候可以设计算法给出问题的精确解。条件数大的问题成为病态问题,条件数为无穷或者不存在的时候成为不适定问题。

二、描述统计量

       方便起见,我们将一个变量的多个独立观测值记作,称其为总体的简单随机独立样本。则经验分布的函数定义如下。在样本量足够大的时候可以通过经验分布函数对改变量的性质作估计。

        在对数据建模分析之前,我们需要预先排除数据中的错误,了解数据特点,考察数据是否符合模型假定的前提条件,这些前期工作统称为探索性数据分析(EDA)。为了概括地描述数值型的随机变量分布,可以使用以下常用的数字特征

位置特征量

样本平均数  eq?%5Ctilde%7By%7D%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum%7By_%7Bi%7D%7D         样本中位数

分散程度(变异性)特征量

标准差 eq?S%5E%7B2%7D%3D%5Cfrac%7B1%7D%7Bn-1%7D%5Csum%7B%28y_%7Bi%7D-%5Cbar%7By%7D%29%5E2%7D        方差 eq?%5Csigma_y%3D%5Csqrt%7BVar%28y%29%7D           变异系数 eq?CV%3D%5Cfrac%7BS%7D%7B%5Cbar%7By%7D%7D 、极差   四分位间距

分布形状特征量

偏度和峰度

多个随机变量

相关系数 (衡量线性相关性)     eq?R%3D%5Cfrac%7B%5Csum%7B%5B%28x_%7Bi%7D-%5Cbar%7Bx%7D%29%28y_%7Bi%7D-%5Cbar%7By%7D%29%5D%7D%7D%7B%5Csqrt%7B%5Csum%7B%28x_%7Bi%7D-%5Cbar%7Bx%7D%29%5E2%28y_%7Bi%7D-%5Cbar%7By%7D%29%5E2%7D%7D%7D 

 三、统计图形

hist(x,freq=FALSE)#等距直方图
hist(y,break=c(-30,0,1,2,3,4,30))#自定义距离直方图
density(x)#数据核密度计算
res<-desity(x);lines(res,col='black')#绘制核密度曲线
boxplot(x)#盒形图
stem(x)#茎叶图
qqnorm(x);qqline(x)#qq图:用于判断数据是否为正态分布,截距为μ,斜率为方差
plot(x,y)#散点图绘制;jitter(x,amount)#对数据进行正负amount的扰动
plot(x,y,type="1")#曲线图;line(x,y)#加线;points(x,y)#加点;abline(h=..,v=..)#加横竖线;matplot()#同一坐标内绘制多组数据
surface(x,y,z)#曲面图;contour(x,y,z)#等值图;image(x,y,z)#作栅格图;outer(x,y,f)#输出函数值矩阵;persp(theta,phi,r)#图形参数调整
set.seed(1);n<-100;tt<-seq(n)
> m<-2;lam<-2*pi/c(4,7);A<-c(1,1.2)
> y<-A[1]*cos(lam[1]*tt)+A[2]*cos(lam[2]*tt)+rnorm(n)#生成随机数
> hist(y)#绘制直方图
> f<-function(y,w) 1/(2*pi*sqrt(y))*exp(0.5*w)#定义函数
> x<-seq(y)
> y<-tt
> z<-outer(x,y,f)#记录函数值矩阵
> persp(x,y,z,theta=-20,phi=30,r=3)#绘制三维散点图

 

de2de6514ad147a68b5862831c2750a3.png

c21d80be88114755b02114dcba6afee8.png

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Dice模型是一种常用的经济学模型,可以用来解释不同变量之间的相互作用和影响。R语言是一种非常流行的开源编程语言,适合进行数据分析和可视化。在使用Dice模型时,可以使用R语言来编写相关的代码,实现数学模型的计算和绘图。 以下是基于R语言的Dice模型代码示例: 首先需要导入相关的包和数据,例如: ``` library(ggplot2) library(readr) df <- read_csv("data.csv") ``` 其中,数据可以采用csv格式,通过read_csv函数将数据导入到R语言中。 然后可以定义Dice模型的参数和函数,例如: ``` savings_rate <- 0.2 labor_growth <- 0.02 capital_share <- 0.3 elasticity <- 0.5 production_function <- function(labor, capital) { labor^elasticity * capital^(1-elasticity) } climate_damage_function <- function(temperature) { if (temperature < 2) { 0 } else { (temperature - 2)^2 } } utility_function <- function(consumption, population) { consumption * (1 - 1 / (1 + population_growth_rate))^(time_discount_rate) } ``` 在这里,定义了一些常量和函数,例如储蓄率、劳动力增长率、资本份额、弹性系数、生产函数、气候损害函数和效用函数等。 接着可以编写Dice模型的主函数,例如: ``` dice_model <- function(carbon_emissions, temperature_increase) { global_output <- production_function(global_labor, global_capital) global_population <- global_population * (1 + population_growth_rate) per_capita_output <- global_output / global_population total_production <- per_capita_output * global_population_scale consumption <- total_production - carbon_emissions total_utility <- utility_function(consumption, global_population_scale) climate_damage <- climate_damage_function(temperature_increase) net_benefit <- total_utility - social_cost_of_carbon * carbon_emissions - climate_damage return(net_benefit) } ``` 其中,输入量是碳排放量和温度增长量,输出量是净收益。主函数中还会用到前面定义的各种参数和函数。 最后,可以通过绘图展示Dice模型的计算结果,例如: ``` carbon_emissions <- seq(0, 100, 0.5) temperature_increase <- seq(0, 10, 0.1) net_benefit_matrix <- outer(carbon_emissions, temperature_increase, dice_model) ggplot(melt(net_benefit_matrix), aes(x = Var1, y = Var2, fill = value)) + geom_raster() + scale_fill_gradientn(colors = c("white", "yellow", "orange", "red"), limits = c(-1000, 4000), breaks = seq(-1000, 4000, 1000), name = "Net benefit") + labs(x = "Carbon emissions", y = "Temperature increase") + theme_classic() ``` 这段代码可以绘制一个热力图,展示碳排放量和温度增长量对净收益的影响。通过这个图可以更直观地理解Dice模型的计算结果。 总之,基于R语言的Dice模型代码可以非常方便地实现数学模型的计算和可视化,使得经济学研究更加方便和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值