在一簇散点中拟合一条回归线(即线性回归)是数据分析的基本方法之一。有时,线性模型能很好地拟合数据,但在某些(很多)情形下,变量间的关系未必是线性的。这时,一般有三类方法解决这个问题: (1) 通过变换数据使得其关系线性化, (2) 用多项式或者比较复杂的样条来拟合数据, (3) 用非线性函数来拟合数据。

什么是非线性回归

在非线性回归中,分析师通常采用一个确定的函数形式和相应的参数来拟合数据。最常用的参数估计方法是利用非线性最小二乘法(R中的nls函数)。该方法使用线性函数来逼近非线性函数,并且通过不断迭代这个过程来得到参数的最优解。非线性回归的良好性质之一是估计出的参数都有清晰的解释,而变换数据后得到的线性模型其参数往往难以解释。

非线性最小二乘拟合

首先,我们以Michaelis-Menten方程为例。

# 生成一些仿真数据

set.seed(20160227)

x <- seq(0, 50, 1)

y <- ((runif(1, 10, 20)*x)/(runif(1, 0, 10)+x)) + rnorm(51, 0, 1)

# 对于一些简单的模型,nls函数可以自动找到合适的参数初值

m <- nls(y ~ a*x/(b+x))

# 计算模型的拟合优度

cor(y, predict(m)) [1] 0.9496598

# 将结果可视化

plot(x, y)

lines(x, predict(m), lty = 2, col = "red", lwd = 3)

输出的图片如下:

R 回归分析 非线性回归模型相关推荐

  1. python非线性回归分析_sklearn实现非线性回归模型

    sklearn实现非线性回归模型 前言: sklearn实现非线性回归模型的本质是通过线性模型实现非线性模型,如何实现呢?sklearn就是先将非线性模型转换为线性模型,再利用线性模型的算法进行训练模 ...

  2. c++ 三次多项式拟合_非线性回归模型(一)--多项式回归

    在许多实际问题分析中,回归分析的应用十分广泛,它是处理变量之间相关关系最常用的一种统计方法.回归分析可分为线性回归和非线性回归. 线性回归分析相信大家都已经非常熟悉了,它主要分析有线性回归趋势的两个变 ...

  3. matlab中非线性回归标准误,SPSS—非线性回归(模型表达式)案例解析_spss培训

    SPSS-非线性回归(模型表达式)案例解析 由简单到复杂,人生有下坡就必有上坡,有低潮就必有高潮的迭起,随着SPSS的深入学习,已经逐渐开始走向复杂,今天跟大家交流一下,SPSS非线性回归,希望大家能 ...

  4. 非线性回归模型的原理及评估——解决行星轨道的拟合问题

    非线性回归模型--行星轨道 概述 回归统计 普通和加权最小二乘法 LogisticLogisticLogistic回归 对数几率分布公式 拟合一个行星轨道 问题一 思路及解答 最小二乘法 问题二 解答 ...

  5. R语言:结构方程模型sem、潜变量分析

    原文链接:http://tecdat.cn/?p=3071 对于熟悉线性回归拟合结构方程模型的分析师来说,在R环境中,拟合结构方程模型涉及学习新的建模语法,新的绘图语法以及通常是新的数据输入方法(点击 ...

  6. R语言分类模型:逻辑回归模型LR、决策树DT、推理决策树CDT、随机森林RF、支持向量机SVM、Rattle可视化界面数据挖掘、分类模型评估指标(准确度、敏感度、特异度、PPV、NPV)

    R语言分类模型:逻辑回归模型LR.决策树DT.推理决策树CDT.随机森林RF.支持向量机SVM.Rattle可视化界面数据挖掘.分类模型评估指标(准确度.敏感度.特异度.PPV.NPV) 目录

  7. R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度

    R语言回归模型构建.回归模型基本假设(正态性.线性.独立性.方差齐性).回归模型诊断.car包诊断回归模型.特殊观察样本分析.数据变换.模型比较.特征筛选.交叉验证.预测变量相对重要度 目录

  8. R语言KNN模型数据分类实战

    R语言KNN模型数据分类实战 目录 R语言KNN模型数据分类实战 #KNN基本原理 #案例分析 ​#数据集说明

  9. R语言xgboost模型构建:基于prima糖尿病数据集

    R语言xgboost模型构建:基于prima糖尿病数据集 目录 R语言xgboost模型构建:基于prima糖尿病数据集

  10. R使用LSTM模型构建深度学习文本分类模型(Quora Insincere Questions Classification)

    R使用LSTM模型构建深度学习文本分类模型(Quora Insincere Questions Classification) Long Short Term 网络-- 一般就叫做 LSTM --是一 ...

最新文章

  1. hiernate二级缓存区域
  2. Matlab实现线性回归和逻辑回归: Linear Regression Logistic Regression
  3. 程序员:最绝望的面试代码写了4个小时,就是不运行!最终收到15K的offer
  4. 单例模式,双重检查实现线程安全
  5. Shell编程关于Sha-Bang(#!)
  6. 为什么CAP不能同时满足的简单理解
  7. 历时 4 年,阿里云推出金融核心系统转型实践书
  8. mysql phpmyadmin远程_phpmyadmin登录远程mysql数据库
  9. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值...
  10. (3)FPGA面试技能提升篇(TCL脚本)
  11. idea中git的运用
  12. ip pv uv及相应统计shell
  13. 勒索病毒c语言源代码,勒索病毒原理解析
  14. SCDN博客的转载方法
  15. 冲压模板自动标注LISP_自动标注.LSP
  16. C语言排序算法(一):冒泡排序
  17. Oracle 数据库的常用备份方法
  18. AsyncTask下载图片
  19. Ubuntu卸载、安装
  20. Handler源码分析 - Java层

热门文章

  1. 排队系统利用分布式设计的思考
  2. 计算机里的网络怎么用,电脑不用路由器怎么连接宽带上网?
  3. mysql查询前100个_mysql查询前100条数据
  4. 电商商品爬虫,亚马逊amazon采集源码
  5. 数学建模——摘要写作
  6. 荣耀平板5710升级鸿蒙系统,荣耀平板也要升级至鸿蒙系统了 今年Q4开始
  7. 杨辉三角计算机中的应用,杨辉三角
  8. CRMEB商城的新零售模式
  9. Axure原型设计灯箱效果
  10. 优动漫PAINT动画创作功能介绍