线代中常用的code [for Python]

线代中常用的code [for Python]

–需要导入numpy。向量用到np.array(), 矩阵用到np.mat()
–对同一个向量求方差,SPSS和R的计算结果都是除以(n-1),而Python的结果是除以n;而对同样的向量求协方差or相关系数,SPSS、R和Python的结果不存在差异,都是除以(n-1)。存疑,Mark。
–而在数学公式中,方差和协方差都有(n-1)与n的区别,但在相关系数的计算中二者消掉了,不影响最终结果。

import numpy as np

向量

1.求向量的均值、方差、标准差

>>> x=np.array([25,-2,4])
>>> x.mean()
9.0
>>> x.var()
134.0
>>> x.std()
11.575836902790225

2.求向量的协方差

>>> x=np.array([25,-2,4])
>>> y=np.array([4,1,9])
>>> np.cov(x,y)
array([[201.        ,   4.        ],
       [  4.        ,  16.33333333]])

矩阵

1.矩阵的输入:输入一个2*3的矩阵

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> A=np.mat((a,b))
>>> A
matrix([[1, 2, 3],
        [4, 5, 6]])

2.求矩阵的特征根

>>> a=[9,-2]
>>> b=[-2,6]
>>> A=np.mat((a,b))
>>> A
matrix([[ 9, -2],
        [-2,  6]])
>>> x,y=np.linalg.eigvals(A)
>>> x
10.0
>>> y
5.0

3.求矩阵的特征根及特征向量

>>> x,y=np.linalg.eig(A)
>>> print(np.linalg.eig(A))
(array([10.,  5.]), matrix([[ 0.89442719,  0.4472136 ],
        [-0.4472136 ,  0.89442719]]))

4.求矩阵的协方差矩阵、相关系数矩阵

>>> a=[25,-2,4]
>>> b=[-2,4,1]
>>> c=[4,1,9]
>>> A=np.mat((a,b,c))
>>> A
matrix([[25, -2,  4],
        [-2,  4,  1],
        [ 4,  1,  9]])
>>> print(np.cov(A))
[[201.         -40.5          4.        ]
 [-40.5          9.          -4.5       ]
 [  4.          -4.5         16.33333333]]
>>> print(np.corrcoef(A))
[[ 1.         -0.95221658  0.06981111]
 [-0.95221658  1.         -0.37115374]
 [ 0.06981111 -0.37115374  1.        ]]

猜你喜欢

转载自blog.csdn.net/qq_32732581/article/details/83000282