算法
文章平均质量分 75
Fo*(Bi)
正在学习编程的“小学生”,啥也不会的技术渣。
展开
-
数据预处理中,异常值的检测方法
在数据预处理中,异常值(outlier)是指与其他数据明显不同的数据点,它们可能是由于测量误差、数据录入错误、样本选取错误或者随机事件等原因导致的。总之,在数据预处理中,异常值检测是一个重要的步骤,可以帮助我们识别数据集中的异常值,并对其进行处理或排除,从而提高数据的质量和可信度。需要根据数据的特点和需求,选择合适的异常值检测方法。LOF算法:LOF(Local Outlier Factor)算法是一种基于密度的异常值检测方法,它通过计算每个数据点周围的密度来判断数据点是否为异常值。原创 2023-12-30 09:00:00 · 793 阅读 · 0 评论 -
标准化和归一化分别是什么?两者的区别是什么?
标准化和归一化都是用于将数据集中的各个特征值缩放到相同的尺度上,以避免不同尺度的特征值对模型的影响程度不同。原创 2023-12-23 12:21:17 · 1075 阅读 · 0 评论 -
自变量敏感度分析
自变量敏感度分析可以帮助我们识别哪些自变量对于模型输出的影响最为显著,以及哪些自变量对于模型输出影响较小,甚至可以不考虑。这种分析可以帮助我们更好地理解模型的行为,并且可以帮助我们优化模型,提高模型的预测准确度。自变量敏感度分析是一种用于评估模型输出对于自变量变化的敏感程度的方法。在这种分析中,我们将模型中的自变量分别进行变化,然后观察模型输出的变化情况,以此来评估自变量对于模型输出的影响程度。需要注意的是,自变量敏感度分析只能评估自变量对于模型输出的影响程度,但是并不能说明自变量之间的相互作用关系。原创 2023-12-18 15:27:19 · 303 阅读 · 0 评论 -
灵敏度分析和鲁棒性分析
灵敏度分析是一种系统分析技术,它是一种对系统变量进行分析的方法,以确定系统的性能。它的目的是确定系统在变量变化时的行为,以及在变量变化时系统的性能如何受到影响。鲁棒性分析是一种系统分析技术,它是一种对系统极限状态进行分析的方法,以确定系统的可靠性。它的目的是确定系统在极端条件下的行为,以及在达到极端条件时系统的可靠性和安全性。本文介绍了鲁棒性分析和灵敏度分析,它们是系统分析中的两种重要方法,都是在分析系统的性能和可靠性时的重要工具。原创 2023-12-02 09:56:14 · 3355 阅读 · 0 评论 -
真实熵预测图书借阅
#真实熵import pandas as pdimport math# 横向最多显示多少个字符, 一般80不适合横向的屏幕,平时多用200pd.set_option('display.width', 500)# 显示所有列pd.set_option('display.max_columns', None)#图书类别Book_category = ['A','B','C','D','E','F','G','H','I','J','K','N','O','Q','R','S','T','U',原创 2022-04-08 10:12:08 · 253 阅读 · 0 评论 -
利用熵和条件熵预测图书借阅
信息熵的基本了解熵与空间位置预测样本数量对某人借书的种类及借此种类书的数量进行统计import pandas as pdimport numpy as np# 横向最多显示多少个字符, 一般80不适合横向的屏幕,平时多用200pd.set_option('display.width', 500)# 显示所有列pd.set_option('display.max_columns', None)#图书类别Book_category = ['A','B','C','D','E','F','原创 2022-04-01 10:22:13 · 231 阅读 · 0 评论 -
马尔可夫链预测模型的应用——以个人图书借阅为例(改进2.0版)
第一版(不成功):马尔可夫链预测模型的应用——以个人图书借阅为例读取个人图书借阅数据##图书类别:A马克思主义、列宁主义、毛泽东思想、邓小平理论;B哲学、宗教;C 社会科学总论;D 政治、法律;E 军事;F 经济;G 文化、科学、教育、体育;##H 语言、文字;I 文学;J 艺术;K 历史、地理;N 自然科学总论;O 数理科学和化学;P 天文学、地球科学;Q 生物科学;R 医药、卫生;S 农业科学;##T 工业技术;U 交通运输;V 航空、航天;X 环境科学、安全科学;Z 综合性图书。impor原创 2022-03-23 09:57:32 · 237 阅读 · 0 评论 -
马尔可夫链预测模型的应用——以个人图书借阅为例
读取个人图书借阅数据##图书类别:A马克思主义、列宁主义、毛泽东思想、邓小平理论;B哲学、宗教;C 社会科学总论;D 政治、法律;E 军事;F 经济;G 文化、科学、教育、体育;##H 语言、文字;I 文学;J 艺术;K 历史、地理;N 自然科学总论;O 数理科学和化学;P 天文学、地球科学;Q 生物科学;R 医药、卫生;S 农业科学;##T 工业技术;U 交通运输;V 航空、航天;X 环境科学、安全科学;Z 综合性图书。import pandas as pd# 显示Dateframe所有行p原创 2022-03-15 11:39:02 · 1285 阅读 · 0 评论 -
真实熵(the actual entropy)
真实熵参考文献【Limits of Predictability in Human Mobility】上文的中文版可以看这篇文章:熵与空间位置预测熵的可预测性定义公式2.6为熵的定义,根据链式法则,可以将熵 S 进一步表示为如下形式:随机熵、时间无关熵和真实熵文中的【43】就是【Limits of Predictability in Human Mobility】对每个用户来说,随机熵包含的信息量最小,仅包含用户使用基站的数量信息,所以Sirand最大,与时间无关的熵Siunc包含原创 2022-03-10 10:18:50 · 1023 阅读 · 0 评论 -
多种马尔可夫链预测方法
一、基于绝对分布的马尔可夫链预测步骤1、对历史数据进行分组步骤2、确定观测值的状态,写出频数矩阵(nij)i,j∈E和一步转移概率矩阵(fij)i,j∈E,其中fij=nij/(n-1),其中n为样本容量,当n→∞时,可用频数估计概率从而得到一步转移概率矩阵步骤3、“马氏性”检验;马尔可夫性的统计检验(马氏性检验)步骤4、已知时刻 l 时系统取各个状态的概率可视为马尔可夫链的初始分布,比如xl取状态2,m=5,则初始分布P(0)=(0,1,0,0,0),于是 l+1 时的绝对分布可认为时刻原创 2022-01-26 09:11:51 · 8275 阅读 · 7 评论 -
马尔可夫链预测模型的应用——以安徽各城市人均GDP预测为例
本文应用马尔可夫链优化模型确定安徽省17个城市人均GDP的变化规律,并对其进行预测及扰动分析。一、人均GDP状态划分判断一个地区发展程度重要的指标就是人均GDP,根 据《1990年世界发展报告》中的分类标准可以将各国家(城市)人均GDP划分为贫穷、温饱、小康、富裕和发达五种类型,针对我国现实状况,按照下面标准划分为五种状态:G1——贫穷 (人均GDP在0美元~300美元);G2——温饱 (人均GDP在300美 元~800美元);G3——小康 (人均GDP在800美元~1500美元);G4——富裕原创 2022-01-23 11:54:00 · 1364 阅读 · 1 评论 -
马尔可夫链预测模型的应用——以预测降雨量为例
【年终分享】彩票数据预测算法(一):离散型马尔可夫链模型实现【附C#代码】…马尔可夫链预测模型及一些应用原创 2022-01-20 09:36:25 · 3120 阅读 · 0 评论 -
指标值序列分组方法
一、数据序列约定俗成的分组法根据人们长久的经验进行分组由于人们在现实生活中积累了生活经验,人们对认识的事物有了感性的了解,就可以对现象进行分组,例如人们根据太湖流域梅雨期的长短,梅雨雨量的丰欠等总结出一些概念性梅雨类别,例如:(1)早梅,迟梅。根据资料分析表明正常入梅的时间为月中旬后期,出梅在月上旬前期,平均梅雨期约天左右。在月中旬前入梅,称为早梅,在月日以后入梅称为迟梅。(2)重梅。梅雨期特别长(超过25天)的梅雨称为重梅,相应的梅雨量非常充沛,暴雨次数多,易产生洪涝灾害(如1954年,1980年,原创 2022-01-14 11:01:43 · 1324 阅读 · 0 评论 -
BP神经网络以及python实现
神经网络学习(3)————BP神经网络以及python实现import numpy as npimport mathimport randomimport stringimport matplotlib as mplimport matplotlib.pyplot as plt# random.seed(0) #当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数# 参考https://blog.csdn.net/jiangjiang_jian/原创 2022-01-11 10:13:16 · 2479 阅读 · 1 评论 -
启发式算法Python代码库——scikit-opt
一个封装了7种启发式算法的 Python 代码库——scikit-opt(差分进化算法、遗传算法、粒子群算法、模拟退火算法、蚁群算法、鱼群算法、免疫优化算法)scikit-opt应用代码安装pip install scikit-opt特性特性1:UDF(用户自定义算子)# step1: define your own operator:def selection_tournament(algorithm, tourn_size): FitV = algorithm.FitV原创 2021-12-01 10:55:15 · 8259 阅读 · 0 评论 -
基于梯度的优化方法
大多数深度学习算法都涉及某种形式的优化。优化指的是改变 x 以最小化或最大化某个函数 f(x) 的任务。我们通常以最小化 f(x) 指代大多数最优化问题。最大化可经由最小化算法最小化*-f(x)* 来实现。我们把要最小化或最大化的函数称为 目标函数(objective function)或 准则(criterion)。当我们对其进行最小化时,我们也把它称为 代价函数(cost function)、 损失函数(loss function)或 误差函数(error function)。虽然有些机器学习著作赋予原创 2021-11-16 13:41:02 · 1841 阅读 · 5 评论 -
马尔可夫性的统计检验(马氏性检验)
马尔可夫预测法认为,只要当事物的现在状态为已知时,人们就可以预测其未来的状态,而不需要知道事物的过去状态,即马尔可夫链具有无后效性特征,这也被后人称为马尔可夫性。这一特性避开了其他预测方法在搜集历史资料时所遇到的一系列难题,使得它无论是理论上还是应用上都占有很重要的地位。因此,检验随机过程是否具有马尔可夫性是应用马尔可夫概型分析的必要前提。...原创 2021-08-17 14:44:11 · 10303 阅读 · 12 评论 -
马尔可夫链(Markov chain)的性质
本文内容主要参考:李航老师的《统计学习方法》以下介绍离散状态马尔可夫链的性质。可以自然推广到连续状态马尔可夫链。一、不可约原创 2021-08-14 21:33:35 · 20222 阅读 · 0 评论 -
马尔可夫链(Markov chain)的基本认识
马尔可夫链在统计学中的定义马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。如何通俗理解马尔可夫链马尔可夫链指的是在已知现在的条件下,过去的信息与未来是独立的,这个独立是条件独立性。最简单的例子就是:已知父母具有某项特长天赋的条件下,孩子也拥有的概率。与已知祖宗十八代和父母的信息的条件下,孩子拥有这项天赋的概率,是一样的。若要用人生的例子来讲,已知你大学学习情况下和已知你在幼儿园小学初中高中大学的所有学习情况下,考研能不能考上的概率是一样的。但是原创 2021-08-13 16:18:37 · 15578 阅读 · 7 评论 -
熵与空间位置预测
人类行为的预测对通讯服务、安全事务、公共健康、资源分配及信息服务等都有着重大的意义。Limits of Predictability in Human Mobility依据熵值分析得出了理论上人类空间访问行为有93%可以精确预测的(指预测下一次访问的地点,精确到手机基站覆盖的范围),并定义了人类行为的3种熵:用户访问不同地点的熵即:式中,Ni 表示历史中个体 i 所到达过的不同地点数目。用户在不同地点被观察到的比例熵即:式中,pi(j) 表示个体 i 访问地点 j 的次数占总访问次数的比例。原创 2021-08-07 15:34:33 · 1263 阅读 · 2 评论 -
信息熵的基本了解
熵信息熵原创 2021-08-06 16:03:27 · 5041 阅读 · 0 评论 -
增量式PID算法控制房间温度变化的简单例子及python程序
房间控制逻辑图增量式PID控制器算法T——采样周期Ti——积分时间TD——微分时间加热器模型房间模型在这里我们对模型中的元素进行简化原本CM=C’M’+CairMairC’M’——房间墙体表面的热容,KJ/℃;CairMair——房间内空气热容,KJ/℃。化简:CM=(1+η)CairMairCair——空气比热,1.0KJ/(Kg·℃);Mair——室内空气质量,Mair=ρ·V;η——室内物体表层的蓄热与室内空气热容的比值。房间内热源热负荷和室外温度这些动态干原创 2021-07-23 15:37:01 · 2311 阅读 · 0 评论 -
基于PID算法的房间温度控制及Python程序
房间温度模糊PID控制研究VAV 空调系统主要由新风管、回风管、送风管等风管系统,空气处理及输送系统,压力传感器、变频器、温湿度传感器等自动控制系统,以及变风量末端装置等部件组成。其中,末端装置是本系统中十分重要的组成部分。房间温控器与变风量末端控制器共同构成串级自动控制回路,主控量为室内温度,辅控量为气流量。首先,变风量末端控制器通过无线传感器网络采集房间温度,与设定的温度比较得出偏差,输出风量调整信号,调节风阀开度以改变送风量,保持室内温度在设定值附近。同时,通过风管内的压力传感器检测管道压力变化,原创 2021-07-15 15:28:41 · 7012 阅读 · 0 评论 -
PID算法的基础知识
PID的含义控制系统通常根据有没有反馈会分为开环系统和闭环系统,PID是一个闭环控制算法。因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上。PID三个部分分别为:P:比例环节;I:积分环节;D:微分环节;所以PID是比例(P)、积分(I)、微分(D)控制算法。但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再原创 2021-07-12 09:40:32 · 6031 阅读 · 0 评论 -
牛顿插值法的Python程序
#牛顿插值,差商from sympy import *x = Symbol('x')x_list = [1, 3, 2]y_list = [1, 2, -1]n = len(x_list)df_list = [y_list[0]]for k in range(1,n): df = 0 for i in range(k+1): X = 1 for j in range(k+1): if i == j: ...原创 2021-06-02 09:35:36 · 3511 阅读 · 2 评论 -
拉格朗日插值法的Python程序
线性插值和抛物线插值#两点拉格朗日线性插值,一次插值多项式x_list = [1, 3]y_list = [1, 2]#所要求的插值x的值x = 1.5l_0 = (x - x_list[1]) / (x_list[0] - x_list[1])l_1 = (x - x_list[0]) / (x_list[1] - x_list[0])P = l_0 * y_list[0] + l_1 * y_list[1]print(P)结果:1.25#两点拉格朗日线性插值,一次插值原创 2021-06-01 12:30:12 · 4612 阅读 · 1 评论 -
Python数据分析与挖掘——回归模型的诊断
当回归模型构建好之后,并不意味着建模过程的结束,还需要进一步对模型进行诊断,目的就是使诊断后的模型更加健壮。统计学家在发明线性回归模型的时候就提出了一些假设前提,只有在满足这些假设前提的情况下,所得的模型才是合理的。本节的主要内容就是针对如下几点假设,完成模型的诊断工作:误差项 ε 服从正态分布。无多重共线性。线性相关性。误差项 ε的独立性。方差齐性。除了上面提到的五点假设之外,还需要注意的是,线性回归模型对异常值是非常敏感的,即模型的构建过程非常容易受到异常值的影响,所以诊断过程中还需要对原创 2021-03-06 10:53:50 · 5235 阅读 · 3 评论 -
Python数据分析与挖掘——交叉验证法
交叉验证(Cross-validation)主要用于建模应用中,例如PCR (主成分回归)、PLS (偏最小二乘)回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。...原创 2021-02-28 17:33:31 · 9426 阅读 · 2 评论 -
Python数据分析与挖掘——回归模型的假设检验
模型的显著性检验是指构成因变量的线性组合是否有效,即整个模型中是否至少存在一个自变量能够真正影响到因变量的波动。该检验是用来衡量模型的整体效应。回归系数的显著性检验是为了说明单个自变量在模型中是否有效,即自变量对因变量是否具有重要意义。这种检验则是出于对单个变量的肯定与否。模型的显著性检验和回归系数的显著性检验分别使用统计学中的F检验法和t检验法,接下来将介绍有关F检验和t检验的理论知识和实践操作。1. 模型的显著性检验——F检验在统计学中,有关假设检验的问题,都有一套成熟的步骤。首先来看一下如何应用原创 2021-02-28 12:37:42 · 5353 阅读 · 0 评论 -
Python中机器学习神器——sklearn模块
参考文章Python机器学习笔记:sklearn库的学习ML神器:sklearn的快速使用机器学习与Sklearn的初识传统的机器学习任务从开始到建模的一般流程是:获取数据 → 数据预处理 → 训练建模 → 模型评估 → 预测,分类。Skikit-learn算法库由图中,可以看到库的算法主要有四类:分类,回归,聚类,降维。其中:常用的回归:线性、决策树、SVM、KNN ;常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;既可以回归也可以分类的算法:随机森林、Adaboost、Gr原创 2021-02-28 08:45:56 · 7999 阅读 · 0 评论 -
Python数据分析与挖掘——线性回归预测模型
线性回归模型属于经典的统计学模型,该模型的应用场景是根据已 知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐 厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜 折扣等)预测就餐规模或营业额;网站根据访问的历史数据(包括新用 户的注册量、老用户的活跃度、网页内容的更新频率等)预测用户的支 付转化率;医院根据患者的病历数据(如体检指标、药物服用情况、平 时的饮食习惯等)预测某种疾病发生的概率。站在数据挖掘的角度看待线性回归模型,它属于一种有监督的学习 算法,即在建模过程中必须同时具原创 2021-02-27 11:20:46 · 44653 阅读 · 3 评论 -
计算标准差、方差的Python程序
#计算拟合函数的标准差、方差from sympy import *X = [3.2,2.99,2.7,2.28,1.53]Y = [7.06,6.94,6.73,6.52,6.06]n = len(X)def f(x): y = 0.5955*x + 5.1486 return yY_v = []for i in range(n): Y_v.append(f(X[i]))S = 0for i in range(n): S += (Y[i] - Y_v[i]原创 2021-02-23 12:56:02 · 9691 阅读 · 0 评论 -
求两个相交的线性函数的交点的Python程序
分别已知两个函数上的两个不同的点,求两个线性函数的交点from sympy import *x = symbols('x')#求两个函数的交点x1 = 1x2 = -2#第一个函数过的两点的纵坐标值y1 = 6.55y2 = 7.72k1 = (y2-y1)/(x2-x1)b1 = y1 - k1*x1#第二个函数过的两点的纵坐标值z1 = 7.98z2 = 7.47k2 = (z2-z1)/(x2-x1)b2 = z1 - k2*x1X = solve((k1*x + b原创 2021-01-09 09:21:37 · 2624 阅读 · 0 评论 -
经典龙格-库塔法(四阶龙格-库塔法)求解求一阶常微分方程相应的特解的Python程序
基本原理例题代码#四阶龙格-库塔法#求一阶常微分方程,相应的特解#x变量的区间a = 0b = 1#已知条件X = [0]Y = [1]h = 0.2 #设置步长n = (b-a)/h #步数def f(x,y): df = y-2*x/y return df#程序运行for i in range(int(n)): x1 = X[i]+h X.append(x1) #x1=x0+h k1 = f(X[i], Y[原创 2021-01-04 18:23:51 · 4018 阅读 · 0 评论 -
高斯-勒让德求积分的Python程序
理论知识:勒让德多项式及性质代码:#高斯-勒让德求积公式from sympy import *from scipy.special import perm,comb #排列,组合n = 2 #n次多项式正交,n越大精度越高(n=0,1,2,...)x = symbols("x")#勒让德多项式def L(n): df = diff((x ** 2 - 1) ** (n + 1), x, n + 1) # Python内置阶乘函数factorial # L =原创 2020-12-31 09:09:07 · 5289 阅读 · 2 评论 -
线性插值法(一次插值多项式)的Python程序
线性插值例子求t=16时,速度v的值#线性插值法(一次线性插值)x = 16#16在15与20之间,所以,只需要两组数据x0 = 15y0 = 362.78x1 = 20y1 = 517.35P = y0 + (y1-y0)/(x1-x0)*(x-x0)print(P)结果:393.69399999999996...原创 2020-12-21 21:45:11 · 3599 阅读 · 0 评论 -
多项式插值法的Python程序
#多项式插值from numpy import *from numpy.linalg import *x = [0, 10, 15, 20, 22.5, 30]y = [0, 227.04, 362.78, 517.35, 602.97, 901.67]n = len(x)A = zeros((n, n))for i in range(n): for j in range(n): A[i][j] = x[i]**(n-1-j)B = zeros((n,1))for原创 2020-12-21 21:36:14 · 1878 阅读 · 0 评论 -
高斯型数值积分公式的Python程序
变步长梯形公式from sympy import *def f(t): f = 2000*log(140000/(140000-2100*t))-9.8*t return fx = symbols('x')truth = integrate(f(x),(x,8,30)).evalf()print(truth) #真值def tra_n(n,a,b): h = (b-a)/n tra_result = 0 for i in range(n):原创 2020-12-21 21:10:12 · 2200 阅读 · 0 评论 -
龙贝格算法求数值积分的Python程序
Ronberg Integration分成n等份时辛普森公式的值from sympy import *def f(t): f = 2000*log(140000/(140000-2100*t))-9.8*t return fx = symbols('x')truth = integrate(f(x),(x,8,30)).evalf()print(truth) #真值def T(n,a,b): h = (b-a)/n tra_result = 0原创 2020-12-21 21:02:51 · 2480 阅读 · 0 评论 -
变步长梯形公式数值积分的Python程序
基本代码:from sympy import *def f(t): f = 2000*log(140000/(140000-2100*t))-9.8*t return fx = symbols('x')truth = integrate(f(x),(x,8,30)).evalf()print(truth) #真值def T(n,a,b): h = (b-a)/n tra_result = 0 for i in range(n): ..原创 2020-12-21 19:50:52 · 2330 阅读 · 0 评论