多元回归

医药数据统计分析联系QQ:231469242

# -*- coding: utf-8 -*-
import seaborn as sns
sns.set()
df = sns.load_dataset("iris")
sns.pairplot(df, hue="species", size=2.5)

# -*- coding: utf-8 -*-
‘‘‘

医药数据统计分析联系QQ:231469242

https://github.com/thomas-haslwanter/statsintro_python/tree/master/ISP/Code_Quantlets/12_Multivariate/multipleRegression

Multiple Regression
- Shows how to calculate the best fit to a plane in 3D, and how to find the
  corresponding statistical parameters.
- Demonstrates how to make a 3d plot.
- Example of multiscatterplot, for visualizing correlations in three- to
  six-dimensional datasets.
‘‘‘
# Import standard packages
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

# additional packages
import sys
import os
sys.path.append(os.path.join(‘..‘, ‘..‘, ‘Utilities‘))

try:
# Import formatting commands if directory "Utilities" is available
    from ISP_mystyle import showData 

except ImportError:
# Ensure correct performance otherwise
    def showData(*options):
        plt.show()
        return

# additional packages ...
# ... for the 3d plot ...
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm

# ... and for the statistic
from statsmodels.formula.api import ols

def generateData():
    ‘‘‘ Generate and show the data: a plane in 3D ‘‘‘

    x = np.linspace(-5,5,101)
    (X,Y) = np.meshgrid(x,x)

    # To get reproducable values, I provide a seed value
    np.random.seed(987654321)   

    Z = -5 + 3*X-0.5*Y+np.random.randn(np.shape(X)[0], np.shape(X)[1])

    # Set the color
    myCmap = cm.GnBu_r

    # If you want a colormap from seaborn use:
    #from matplotlib.colors import ListedColormap
    #myCmap = ListedColormap(sns.color_palette("Blues", 20))

    # Plot the figure
    fig = plt.figure()
    ax = fig.gca(projection=‘3d‘)
    surf = ax.plot_surface(X,Y,Z, cmap=myCmap, rstride=2, cstride=2,
        linewidth=0, antialiased=False)
    ax.view_init(20,-120)
    ax.set_xlabel(‘X‘)
    ax.set_ylabel(‘Y‘)
    ax.set_zlabel(‘Z‘)
    fig.colorbar(surf, shrink=0.6)

    outFile = ‘3dSurface.png‘
    showData(outFile)

    return (X.flatten(),Y.flatten(),Z.flatten())

def regressionModel(X,Y,Z):
    ‘‘‘Multilinear regression model, calculating fit, P-values, confidence intervals etc.‘‘‘

    # Convert the data into a Pandas DataFrame
    df = pd.DataFrame({‘x‘:X, ‘y‘:Y, ‘z‘:Z})

    # --- >>> START stats <<< ---
    # Fit the model
    model = ols("z ~ x + y", df).fit()

    # Print the summary
    print((model.summary()))
    # --- >>> STOP stats <<< ---

    return model._results.params  # should be array([-4.99754526,  3.00250049, -0.50514907])

def linearModel(X,Y,Z):
    ‘‘‘Just fit the plane, using the tools from numpy‘‘‘

    # --- >>> START stats <<< ---
    M = np.vstack((np.ones(len(X)), X, Y)).T
    bestfit = np.linalg.lstsq(M,Z)
    # --- >>> STOP stats <<< ---

    print((‘Best fit plane:‘, bestfit))

    return bestfit

def scatterplot():
    ‘‘‘Fancy scatterplots, using the package "seaborn" ‘‘‘

    df = sns.load_dataset("iris")
    sns.pairplot(df, hue="species", size=2.5)
    showData(‘multiScatterplot.png‘)

if __name__ == ‘__main__‘:
    scatterplot()
    (X,Y,Z) = generateData()
    regressionModel(X,Y,Z)
    linearModel(X,Y,Z)
时间: 2024-10-21 20:01:29

多元回归的相关文章

scikit-learn : 线性回归,多元回归,多项式回归

匹萨的直径与价格的数据 %matplotlib inline import matplotlib.pyplot as plt def runplt(): plt.figure() plt.title(u'diameter-cost curver') plt.xlabel(u'diameter') plt.ylabel(u'cost') plt.axis([0, 25, 0, 25]) plt.grid(True) return plt plt = runplt() X = [[6], [8],

Coursera Machine Learning : Regression 多元回归

多元回归 回顾一下简单线性回归:一个特征,两个相关系数 实际的应用要比这种情况复杂的多,比如 1.房价和房屋面积并不只是简单的线性关系. 2.影响房价的因素有很多,不仅仅是房屋面积,还包括很多其他因素. 现在描述第一种情况,房价和房屋面积不只是简单的线性关系,可能是二次或者多项式: 二次函数: 多项式函数: 多项式回归: 这里的特征都是通过房屋面积这个自变量得到的. 第二种情况,影响房屋价格的因素不仅仅是房屋面积,这里增加了卧室的数量.这种就是多元线性回归. 通用表达式: 多元线性回归中,理解相

python多元回归于调用excel文件

import xlrd from numpy.linalg import inv import numpy as np data = xlrd.open_workbook(u'C:\\Users\\xd/Desktop\\作业\\新建文件夹\\线性代数\\SpeedVideoDataforModeling.xlsx') table = data.sheet_by_index(0) x1 = np.array(table.col_values(17)[1:]) x2 = np.array(tabl

从软件工程角度回顾本科毕业论文

从软件工程角度分析毕业论文的完成过程并探视其中的不足                          我毕业论文题目是:河北省经济增长与环境质量的相关分析.选题目的是通过一个地区的经济增长与环境质量之间相关指标的数量分析,得出影响一个地区环境.经济的主导成因,进而得出合理的措施及建议. 论文共分为四个部分:绪论.经济增长与环境质量相关理论与方法.河北省经济增长与环境质量现状分析.改善河北省环境质量的若干建议.在学习了高级软件工程之后,对软件工程有了一定的了解,下面用软件工程思想分析毕业论文的完

统计学习方法笔记(1)——统计学习方法概论

1.统计学习 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称统计机器学习.统计学习是数据驱动的学科.统计学习是一门概率论.统计学.信息论.计算理论.最优化理论及计算机科学等多个领域的交叉学科. 统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去.统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提. 统计学习的目的就是考虑学习什么样的模型和如何学习模型. 统计学习

5中常用的相关分析方法

一.折线图分析法和散列图分析法 二.协方差(两个参数)与协方差矩阵(参数大于两个) 三.相关系数法(可以直接用excel求相关系数) 四.一元回归(两个参数)和多元回归(多余两个参数) 五.信息熵及互信息 互信息指的是两个随机变量之间的关联程度,即给定一个随机变量后,另一个随机变量不确定性的削弱程度,因而互信息取值最小为0,意味着给定一个随机变量对确定一另一个随机变量没有关系,最大取值为随机变量的熵,意味着给定一个随机变量,能完全消除另一个随机变量的不确定性 通俗的讲就是: 原来我对X有些不确定

多元线性回归和多项式回归

多项式回归也称多元非线性回归,是指包含两个以上变量的非线性回归模型.对于多元非线性回归模型求解的传统解决方案,仍然是想办法把它转化成标准的线性形式的多元回归模型来处理. 多元非线性回归分析方程 如果自变数与依变数Y皆具非线性关系,或者有的为非线性有的为线性,则选用多元非线性回归方程是恰当的.例如,二元二次多项式回归方程为: 令,及于是上式化为五元一次线性回归方程: 这样以来,便可按多元线性回归分析的方法,计算各偏回归系数,建立二元二次多项式回归方程. -参考文献:智库百科,点击打开 多元二项式回

你应该掌握的七种回归技术

转自:http://www.iteye.com/news/30875 英文原文:https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/ [编者按]回归分析是建模和分析数据的重要工具.本文解释了回归分析的内涵及其优势,重点总结了应该掌握的线性回归.逻辑回归.多项式回归.逐步回归.岭回归.套索回归.ElasticNet回归等七种最常用的回归技术及其关键要素,最后介绍了选择正确的回归模型的关键因素. 什么

线性回归学习笔记

操作系统 : CentOS7.3.1611_x64 python版本:2.7.5 sklearn版本:0.18.2 tensorflow版本 :1.2.1 线性回归是利用数理统计中回归分析, 来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法, 运用十分广泛. 其表达形式为y = w'x+e,e为误差服从均值为0的正态分布. 根据变量个数的多少可以分为一元线性回归和多元线性回归. 回归模型中, 一元回归是最简单且稳健的, 但描述复杂系统的行为时往往乏力, 因此基于多元回归的预测技术更