首页 > 其他分享 >二元线性回归

二元线性回归

时间:2024-01-30 20:12:56浏览次数:24  
标签:二元 tx ty int 回归 64 线性 ys TYPE

	template<class TYPE>
	BOOL LinearRegression(TYPE x[], TYPE y[], int n, TYPE &a, TYPE &b)
	{
		TYPE	xs, ys, xys, xxs;
		int		i;

		xs = 0;
		ys = 0;
		xys = 0;
		xxs = 0;
		for(i=0; i<n; i++)
		{
			xs += x[i];
			ys += y[i];
			xys += x[i]*y[i];
			xxs += x[i]*x[i];
		}

		a = (xs*ys/n-xys)/(xs*xs/n-xxs);
		b = (ys-a*xs)/n;
		return TRUE;
	};

	template<class TYPE>
	BOOL LinearReg2BC(TYPE x[][2], TYPE y[], int n, TYPE &b, TYPE &c)
	{
		TYPE		tx[64], ty[64], x0;
		int			i;

		for(i=0; i<n; i++)
		{
			x0 = x[i][0];
			tx[i] = x[i][1] / x0;
			ty[i] = y[i] / x0;
		}

		NMath::LinearRegression(tx, ty, n, c, b);
		return TRUE;
	}

	template<class TYPE>
	BOOL	Equation2XSub(TYPE x[][2], TYPE y[], TYPE tx[][2], TYPE ty[], int i, int k)
	{
		tx[i][0] = x[i][0] - x[k][0];
		tx[i][1] = x[i][1] - x[k][1];
		ty[i] = y[i] - y[k];
		return TRUE;
	}

	template<class TYPE>
	BOOL LinearReg2X(TYPE x[][2], TYPE y[], int n, TYPE &a, TYPE &b, TYPE &c, TYPE *pq = NULL)
	{
		TYPE		tx[64][2], ty[64];
		int			i;
		TYPE		x0s, x1s, ys, ry, ey, er, q;

		if(n < 3)
			return FALSE;

		x0s = 0;
		x1s = 0;
		ys = 0;
		for(i=0; i<n; i++)
		{
			x0s += x[i][0];
			x1s += x[i][1];
			ys += y[i];
		}

		for(i=1; i<n; i++)
			Equation2XSub(x, y, tx, ty, i-1, i);
		Equation2XSub(x, y, tx, ty, n-1, 0);

		LinearReg2BC(tx, ty, n, b, c);
		a = (ys - x0s*b - x1s*c)/n;

		if(pq)
		{
			ey = 0;
			er = 0;
			for(i=0; i<n; i++)
			{
				ey += y[i]*y[i];
				ry = a + b*x[i][0] + c*x[i][1];
				er += (ry - y[i])*(ry - y[i]);
			}

			q = (ey-er)/ey;
			*pq = q;
			return TRUE;
		}

		return TRUE;
	}

标签:二元,tx,ty,int,回归,64,线性,ys,TYPE
From: https://www.cnblogs.com/zzz3265/p/17997858

相关文章

  • 【scikit-learn基础】--『回归模型评估』之损失分析
    分类模型评估中,通过各类损失(loss)函数的分析,可以衡量模型预测结果与真实值之间的差异。不同的损失函数可用于不同类型的分类问题,以便更好地评估模型的性能。本篇将介绍分类模型评估中常用的几种损失计算方法。1.汉明损失Hammingloss(汉明损失)是一种衡量分类模型预测错误率的指......
  • R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、负指数方程、幂函
    全文链接:https://tecdat.cn/?p=33742原文出处:拓端数据部落公众号简介在选择最佳拟合实验数据的方程时,可能需要一些经验。当我们没有文献信息时该怎么办?我们建立模型的方法通常是经验主义的。也就是说,我们观察过程,绘制数据并注意到它们遵循一定的模式。例如,我们的客户可能观察......
  • (2A)ADM7172ACPZ-2.5低压差线性稳压器 (LDO),AD5684BRUZ内置SPI接口的四通道、12位DAC
    一、ADM71726.5V、2A、超低噪声、高PSRR、快速瞬态响应CMOSLDOADM7172ACPZ-2.5超低噪声、高PSRR、快速瞬变响应CMOS低压差线性调节器采用2.3V到6.5V电压提供高达500mA的输出电流。这些高输出电流LDO适用于调节6V至1.2V供电轨的高性能模拟和混合信号电路。该......
  • 【scikit-learn基础】--『回归模型评估』之准确率分析
    分类模型的评估和回归模型的评估侧重点不一样,回归模型一般针对连续型的数据,而分类模型一般针对的是离散的数据。所以,评估分类模型时,评估指标与回归模型也很不一样,比如,分类模型的评估指标通常包括准确率、精确率、召回率和F1分数等等。而回归模型的评估指标通常包括均方误差(MSE)、......
  • PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列|附
    全文下载链接:http://tecdat.cn/?p=22617最近我们被客户要求撰写关于MRS的研究报告,包括一些图形和统计输出。本文提供了一个在统计模型中使用马可夫转换模型模型的例子,来复现Kim和Nelson(1999)中提出的一些结果。它应用了Hamilton(1989)的滤波器和Kim(1994)的平滑器  %matplot......
  • 为什么使用交叉熵作为逻辑回归的损失函数?
    整理以前学习过程中的疑问。为什么使用交叉熵作为逻辑回归的损失函数?频率学派的一种估计参数的方法,这种方法适合分类回归任务。必须要提一下的是,频率学派将参数\(\theta\)​看作一个未知待估计的常数,其目标是使用带一定性质的估计方法求出。似然函数就是其中的一种方法。A......
  • 零基础数模之回归专题
    回归分析专题数据预处理回归分析前要先进行数据预处理,主要有以下三种中心化处理,使得样本均值为0无量纲化处理,使得样本方差均为1标准化处理,即同时进行中心化处理和无量纲化处理二、常见回归模型(方法)线性回归线性回归使用直线在因变量y与自变量X(X是列向量,包括1......
  • 线性基详解+例题
    线性基线性基是一个能够在每次时间复杂度\(O(\log_2d)\),d是数字的位数内处理异或最大最小的数据结构。问题:请你维护一个数据结构,支持插入一个数,求这些数任意异或得到的结果是否可能为某一个数、最大值、最小值、第k小值。做法:开一个数组a[MAXN],MAXN是数字最高位数。a[i]表示......
  • 【板子】线性基
    //lgp3812#include<bits/stdc++.h>usingnamespacestd;#definellunsignedlonglonglld[100];intn;voidInsert(llx){ for(inti=62;i>=1;i--) { if(!(x>>(i-1)))continue; if(!d[i]) { d[i]=x; return; } else { ......
  • 【学习笔记】线性基(删除操作待填)
    基本对于一个值域为1-N的集合S它的线性基的值域与S相同它的线性基中的元素个数小于等于logN集合S中任意数异或和存在于线性基中线性基任意数异或和存在于集合S中插入首先,线性基大体长这样XXXXX称为第[线性基中数的个数]个数口XXXX口口口XX口口口口X称为第1个数d[i]......