
python数据分析
文章平均质量分 89
不爱写程序的程序猿
费曼学习法,就是授人以渔来巩固自己的知识,写博客的意义也亦如此
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
时间序列分析(1)-移动平均法
文章目录1.定义2.移动平均法、指数平滑法和季节模型1.移动平均法2.二次移动平均法及趋势移动平均法1.定义时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。对时间序列进行观察研究,找寻它的发展规律,预测它将来的走势就是时间序列分析。时间序列根据所研究的依据不同,可有不同的分类。按所研究的对象的多少分,有一元时间序列和多元时间序列.按时间的连续性可将时间序列分为离散时间序列和连续时间序列两种.按序列的统计特性分,有平稳时间序列和非平稳时间序列.如果一个时间序列的概率分布与时间t无关原创 2021-05-03 19:13:02 · 6262 阅读 · 0 评论 -
数学建模-用线性模型思想求解logistic人口回归模型
这篇文章是基于上一篇的博客的 所以需要先看懂上一篇博客的数学公式推导:数学建模-用scipy.optimize的模块的curve_fit函数实现曲线的非线性最小二乘法拟合文章目录线性最小二乘法函数解释实现思路线性最小二乘法为了使最小二乘法估计这个模型的参数rrr和χm\chi_mχm,把Logistic方程表示为:1x⋅dxdt=r−sx,s=rxm.\frac{1}{x}\cdot\frac{d_x}{d_t}=r-sx,s=\frac{r}{x_m}.x1⋅dtdx=r−sx,s=xm原创 2021-02-03 18:10:45 · 1913 阅读 · 0 评论 -
数学建模-Logistic模型
文章目录Malthus模型模型假设建模与求解模型评价Logistic模型模型假设建模与求解模型检验为了更好地理解Logistic模型,我们先看看Malthus模型Malthus模型这是英国神父Malthus通过对一百多年人口统计资料的分析之后提出的人口模型假设模型假设设x(t)表示t时刻的人口数,且x(t)连续可微.人口的增长率r是常数(增长数=出生率-死亡率)人口的数量的变化是封闭的,即人口数量的增加与减少只取决于人口中个体的生育和死亡,且每一个体都具有同样的生育能力与死亡率.原创 2021-01-25 23:47:52 · 15065 阅读 · 8 评论 -
数学建模-用scipy.optimize的模块的curve_fit函数实现曲线的非线性最小二乘法拟合
文章目录美国人口预测模型栗题:建模与求解参数估计scipy.optimize curve_fit函数这里我们用经典的人口预测模型来进行函数的使用说明美国人口预测模型栗题:利用下表给出的近两个世纪的美国人口统计数据(以百万为单位),建立人口预测模型,最后用它估计2010年美国的人口.年份17901800181018201830184018501860人口3.95.37.29.612.917.123.231.4年份187018801890原创 2021-01-25 23:39:29 · 1862 阅读 · 1 评论 -
数学建模-几个微分方程建模并用python求解的栗子
数学建模-几个微分方程建模并用python求解的栗子建立微分方程模型一般分为以下三步根据实际要求确定研究的量(自变量、未知函数、必要的函数等),并确定坐标系找出这些量所满足的基本规律运用这些规律列出方程和定解条件下面直接上三种情况的例题叭:栗子1:按规律直接建立方程将某物体放置于空气中,在时刻t=0测量得它得温度为u0=150°C,10min后测量得它的温度为u1=100°C.要求建立此物体的温度u和时间t的关系,并计算20min后物体的温度.其中假设空气的温度保持为 原创 2021-01-25 00:29:53 · 3540 阅读 · 0 评论 -
数学建模-用scipy库的odeint函数实现微分方程的数值解法
introduction:python对于常微分方程的数值求解是基于一阶方程进行的,高阶微分方程必须化成一阶方程组,通常采用龙格-库塔方法. scipy.integrate模块的odeint模块的odeint函数求常微分方程的数值解,其基本调用格式为:sol=odeint(func,y0,t)func是定义微分方程的函数或匿名函数y0是初始条件的序列t是一个自变量取值的序列(t的第一个元素一定必须是初始时刻)返回值sol是对应于序列t中元素的数值解,如果微分方程组中有n个函数,返回值会是n列的矩原创 2021-01-24 12:39:23 · 20990 阅读 · 5 评论 -
数学建模-用Sympy库求解一些微分方程
数学建模-用Sympy库求解一些微分方程例题1:解下列微分方程的特解from sympy.abc import x #因为sympy的计算都是需要符号变量声明的 例如x=symbols('x'); 使用abc库可以将任何拉丁和希腊字母导出为符号型的from sympy import diff, dsolve,simplify,Functiony=Function('y') #声明y代表一个函数eq=diff(y(x),x,2)+2*diff(y(x),x)+2*y #定义方程con={y(0)原创 2021-01-23 18:38:03 · 4053 阅读 · 9 评论 -
数学建模–模拟退火算法
数学建模–智能算法1.简介智能算法又称现代优化算法,主要是用于求解大量来源于实际的组合最优化问题,主要有模拟退火算法、遗传算法、人工神经网络(前?神经网络)、禁忌搜索算法、蚁群算法、差分进化算法和粒子群算法等.模拟退火算法1. 简介模拟退火算法得益于材料统计力学的研究成果.统计力学表明材料中粒子的不同结构对应于粒子的不同能量水平.在高温条件下,粒子的能量较高,可以自由运动和重新排列.在低温条件下,粒子能量较低.如果从高温开始,非常缓慢地降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡.原创 2021-01-02 00:46:20 · 2445 阅读 · 0 评论 -
Numpy.linalg模块的lstsq()进行线性回归拟合(数学建模)
建模中经常使用线性最小二乘法,实际上就是求超定线性方程组(未知数少,方程个数多)的最小二乘解,前面已经使用pinv()求超定线性方程组的最小二乘解.下面再举两个求最小二乘解的例子,并使用**numpy.linalg模块的lstsq()**函数求解.先要明确这个函数的原义是用来求超定线性方程组的:例如下面的方程组:系数矩阵的第一列相当于给定了x的观测值 X=[0,1,2,3].transpose右边的结果矩阵相当于给定了y的观测值 Y=[-1,0.2,0.9,2.1].transpos..原创 2020-12-18 22:21:32 · 13606 阅读 · 2 评论 -
贝叶斯定理及其python求解
1. 什么是著名的贝叶斯定理:就是这么一个不起眼的公式,却能解决通过分治的方法解决很多复杂的概率学问题,所有贝叶斯统计的方法都基于贝叶斯定理.P(A|B) 是后验概率,即在得到新数据前某一假设的概率,其一般也是需要我们求解的概率P(A) 是先验概率,即在看到新数据后,我们要计算的该假设的概率P(B|A) 是似然度,即在该假设下得到这一数据的概率P(B) 是在任何假设下得到这一数据的概率,成为标准化常量,除它的过程也叫做归一化或标准解释:一般来说,先验概率是偏主观性的,一般是对原创 2020-12-17 00:08:33 · 1511 阅读 · 0 评论 -
数据分析手册-Numpy(7)--花哨的索引
花哨的索引(fancy indexing)花哨的索引不同于前面的简单索引得到的标量,而是直接得到的是传递的索引数组。且能够让我们能够快速获得并修改复杂的数组值得字数据集。探索花哨的索引花哨的索引在概念上非常简单,它意味着传递一个索引数组来一次性获得多个数组元素。import numpy as nprand=np.random.RandomState(42)x=rand.randint(100,size=10)[x[3],x[7],x[2]]#[71,86, 14]利用花哨的索..原创 2020-12-04 22:01:08 · 400 阅读 · 1 评论 -
python--Tips--and/or与&/|的比较
Tips:使用关键字and/or与使用逻辑操作运算符&/|今天我们来补充一个python的小知识点,and/or 关键字到底和逻辑操作运算符&/|有什么区别它们的主要区别在于:and 和 or判断整个对象是真是假,而& 和 | 是指每个对象中的比特位。当你使用and 或 or的时候,就等于让python将这个对象当作整个布尔实体、在python中,所有非零的整数都会被当做是True:bool(42), bool(0)(True, False)bool(42 and...原创 2020-12-03 22:06:09 · 233 阅读 · 0 评论 -
数据分析手册-numpy数组(5)--比较通用函数与操作布尔数组
和通用函数类似的比较操作前面介绍了通用函数,并且特别关注了算术运算符。我们用+、-、*、/和其他一些运算符介绍了数组的逐元素操作。numpy还实现了如<(小于)和>(大于)的逐元素比较的通用函数。这些比较运算的结果是一个布尔类型的数组。一共有6种标准的比较操作:x=np.array([1,2,3,4,5])x<3 #小于array([True, True,False,False,False], dtype=bool)x>3 #大于array([False,False,Fa原创 2020-12-02 21:33:41 · 1047 阅读 · 0 评论 -
数据分析手册--numpy数组(4)--python中的广播
数组的计算:广播(broadcasting)前面我们介绍了numpy如何通过通用函数的向量化操作来减少缓慢的python循环.另外一种向量化操作的方法是利用numpy的广播功能.例如:广播可以允许一个标量(可以认为是一个0维的数组)直接和一个数组相加import numpy as npa=np.arange(0,5)a=a+5print(a)# the output will be [5,6,7,8,9]其工作的过程就是数值5会被扩展或重复至数组[5,5,5],然后执行加法.A...原创 2020-11-30 22:39:44 · 307 阅读 · 1 评论 -
数据分析手册-numpy数组(3)--高级通用函数的进一步探索与聚合的讲解
绝对值 正如numpy能够理解python内置的运算操作,numpy同样也可以理解python内置的绝对值函数**:直接对数组使用abs()操作即可** 对应的numpy通用函数是np.absolute,该函数也可以用np.abs-别名来访问同样地,这个通用函数也可以用于处理复数。当处理复数时,绝对值返回的是该元素的模(magnitude).三角函数numpy提供了很多好用的通用函数,其中对于数据科学家来说最有用的...原创 2020-11-29 21:45:29 · 392 阅读 · 2 评论 -
数据分析手册-numpy数组(2)--通用函数
numpy数组的计算–通用函数:通用函数–numpy为我们提供了一个简单且灵活的接口来优化数据数组的计算使得numpy变快的关键是利用向量化操作,通常在numpy的通用函数(ufunc)中实现python处理起某些操作时非常慢的一部分重要原因是该语言的动态性和可解释性-数据类型灵活的特性决定了操作如此缓慢的原因–这时候就出现了一个实时的python编译实现:cpython项目,将python代码转换成可编译的C代码。python相对缓慢通常出现在很多小操作需要不断重复的时候,比如对数组的每个元素做..原创 2020-11-28 22:38:48 · 217 阅读 · 0 评论 -
数据分析手册-numpy数组(1)
numpy数组(import numpy as np)常见的创建数组函数np.zeros (10, dtype=int)--创建一个长度为10的数组,数组的值都是0np.ones((3,5), dtype=float)--创建一个3×5的浮点型数组,数组的值都是1np.full((3, 5),3.14) --创建一个3×5的浮点型数组,数值都是3.14np.arrge(0,20,2)--创建一个线性序列数组;从0开始,到20结束,步长为2;(它和内置的range函数类似)np.lin原创 2020-11-27 17:41:13 · 279 阅读 · 0 评论