统计学一元线性回归方程公式,一元线性回归方差分析表中的各值怎么计算
作者主页(慢火冰糖硅基作坊):https://blog.csdn.net/HiWangWenBing
网站:https://blog.csdn.net/HiWangWenBing/article/details/119824982
目录
1.一元n次非线性方程
1.1非线性函数
1.2非线性函数情况
1.3非线性函数的几何
2.导数和导数的分析方法。
2.1衍生产品的来源和初心
2.2什么衍生?
2.3导数函数
2.4导数的分析方法
3.迭代法求导数的基本原理
3.1数值微分的基本思想
3.2确定误差或收敛条件:计算导数值的误差。
3.3迭代过程:对h进行迭代。
4.Python代码示例
4.1情况1:导数的迭代方法
4.2情况2:通过迭代法求导,得到导数序列。
1.n次一元非线性方程1.1非线性函数线性函数是线性函数的别称,那么非线性函数,也就是函数像不是直线的函数。
非线性函数包括指数函数、幂函数、对数函数、多项式函数及其复合函数等基本初等函数。
1.2非线性函数情况y=f (x)=a3 * x 3a2 * x 2a0
A3=1,a2=-1,A0=-1;获取:
1.3非线性函数的几何
2.求导与求导的分析方法2.1求导的源头与初心
现实中常常需要函数的最大值和最小值,变速运动的瞬时速度,函数的正切,这些都是导数发现的来源和初心。
(1)瞬时速度
(2)切线与斜率
(3)函数求极值
上述三个问题的本质,都与一个非常基础的概念相关,就是函数的导数!!!
导数也是深度学习领域寻找损失函数最小值的一个基本概念。梯度下降法是基于导数的。
2.2什么衍生?
导数也称为微分!!!
2.3导函数以x为自变量,函数f(x)在x处的导数值为因变量y,所得函数为x的导函数,记为f(x)。
其实大部分初等函数都可以通过原函数f(x)直接得到f(x)的导函数。
有了导函数f(x),就可以直接求出y=f(x)在任意一点的导数。
2.4解析法求导数解析法求导数是先用原函数手动求出导函数,然后通过求解公式直接求出导数。
#从Math导入*导入time导入numpy as NP导入matplotlib.py plot as PLT #一元n次非线性函数# y=f(x)=x 3-x-1 def f(x):return(1.0 * x * * 3-1.0 * x * * 1-1)#导数函数:y=Fv(x)=3 x2-xdefFv(x):return(1.0 * x * * 2-1.0 * x * * 1-1)#导数函数x _ data=np.arangeappend (Fv (x)) #解析方法依次求解plt.scatter(x_data,y_data)。
3.3.1导数迭代法的基本原理数值微分的基本思想
注:x0=a,x的值为常数。
3.2 确定误差或收敛条件:对导数值求误差
3.3迭代过程:对h进行迭代。
也就是说,迭代距离X0的距离h,距离逐渐减小到无穷大。根据上面公式计算的导数在这里。
距离缩减规则采用指数递减法,也就是说迭代方法是指数递减迭代,而不是线性递减。
这种方法在准确性和速度之间取得了良好的平衡。
4.Python代码示例4.1案例1:推导的迭代方法
(1)源代码:
#导入库从数学导入*导入时间导入numpyimport matplotlib。py绘图为PLT #一元普通次非线性函数# y=f(x)=x^3-x-1 def f(x):return(1.0 * x * * 3-1.0 * x * * 1-1)#导函数:y=fv(x)=3x^2-1 def Fv(x):return(3.0 * x * * 2-1.0)#导函数# 定义通过迭代法求导数的函数# X0:需要求导的位置#精确度:精度#调试:调试开关def f_iter(X0,accuracy=0,debug=0):# log data k=0x _ data=[]y _ data=[]z _ data=[]if(调试!=0):打印( \n输入参数:X0={},准确度={},调试={} 。格式(X0,精度,调试))#计算初始导数H0=1 Hk=H0 Gk=(f(X0 Hk)-f(X0-Hk))/(2 * Hk)if(调试!=0):x _ data。追加(0)y _ data。追加(Gk)z数据。追加(香港)迭代求导虽然为真:k=k ^ 1 #记录迭代次数Hk=Hk/2 #逐步逼近Gk _ 1=Gk Gk=(f(X0 Hk)-f(X0-Hk))/(2 * Hk)#导数值迭代Err=fabs(Gk - Gk_1) #求误差如果(调试!=0):x _ data。附加(k)y _ data。追加(Gk)z数据。如果(Err=,则追加(Err)精度):break如果(调试!=0):对于x _数据中的x:print(x,y_data[x],z_data[x]) print(\n迭代图示)plt.scatter(x_data,y _ data)return Gkaccuracy=0.00001 a=2 print(解析法求导:,fv(a))打印(迭代法求导:,f_iter(a,精度,1)) (2)输出结果
解析法求导: 11.0输入参数:X0=2,精度=1e-05,调试=10 12.0 11 11.25 0.752 11.0625 0.1875625 0.0468754 11.0039039 0625 0.00000976迭代图示迭代法求导: 11.000000953674316(3)图形显示收敛过程
4.2案例2:通过迭代法求导,获取导数序列(1)源代码
# 定义存放导数序列的列表x_data=np.arange(-5,5,0.2)y_data=[]for x in x_data: #迭代法依次求导数y_data.append(f_iter(x,0.0001,debug=0)) #展示导数序列plt.scatter(x_data,y_data) (2)图示输出(导函数)
作者主页(文火冰糖的硅基工坊):https://博客。csdn。网/HiWangWenBing
本文网址:https://博客。csdn。net/HiWangWenBing/文章/详情/119824982
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。