没有项目描述

mecm的Python项目详细描述


mecm
==








mecm python包提供了q.baghi等人开发的改进期望最大化算法的实现,可在
https://arxiv.org/abs/1608.08530





它基于一种接近于期望最大化的算法,该算法通过利用快速傅立叶变换、快速矩阵到向量乘法、以及以及稀疏线性代数。


让我们考虑一个可以用

格式编写的数据模型。数学:

y=a\beta+n

,其中:

*y是均匀采样的测量时间序列数据(大小n)。

*a是设计矩阵(大小n x k)

*beta是要估计的参数向量(大小k)

*n是噪声向量,假设在给定平滑谱密度s(f)


的情况下遵循高斯平稳分布,现在假设只观察到向量y的一些项。观察到的和丢失的数据的指数是由一个二元掩模向量m提供的,当观察到数据时,它的项
等于1,否则等于0。
所以实际上我们只观察到一个向量y,这样

代码块:

y碜obs=y[m==1]

a和m。



线性平滑器。

*conditionalDraw:一个函数,根据观测数据有条件地计算缺失数据的条件期望值,假设是高斯平稳模型。






安装之前,请确保已安装了以下python包:

-


*numpy:http://www.numpy.org/

*scipy:https://www.scipy.org/

*pyfftw:https://pypi.python.org/pypi/pyfftw

*cvxopt:http://cvxopt.org/

*numba:https://numba.pydata.org/




然后打开一个终端(或在windows上执行一个命令),并使用以下命令::


安装







许可证
----


请参见"许可证文件<;https://github.com/porlopoff/mecm/blob/master/license.txt>;`



《快速入门指南》
----


mecm基本上可用于执行任何多线性回归分析,其中
噪声的分布假定为高斯分布且在
广义上是平稳的,使用平滑的功率谱密度(psd)。

数据生成

首先,我们生成一些包含噪声和信号的简单时间序列。
要生成噪声,我们从一个白色的零均值高斯噪声开始,然后对其进行滤波,得到一个平稳的有色噪声:

。代码块:

大小=n)应用滤波将其转换为有色噪声
r=0.01
b,a=信号。黄油(3,0.1/0.5,bType='High',模拟=假)n=信号。lfilter(b,a,noise,axis=-1,zi=none)+noise*r

然后我们需要一个确定的信号来添加。我们选择一个频率f0和振幅a0分别为


代码块:

t=np.arange(0,n)
f0=1e-2
a0=5e-3
s=a0*np.s in(2*np.pi*f0*t)

数学:

y=a\beta+n

代码块:

m=np.ones(n)
ngaps=30
gapstarts=(n*np.random.random(ngaps)).astype(int)
gaplength=10
gapends=(gapstarts+gaplength).astype(int)
for k in range(ngaps):m[gapstarts[k]:gapends[k]=0

版本,M*Y.

2.线性回归

现在假设我们观察到m*y,我们希望估计频率和相位已知的正弦波的振幅
,以及
噪声残差的psd。
可用数据是

代码块:

y=m*(s+n)


我们必须通过:

指定设计矩阵(即数据模型)。代码块:

a=np.array([np.sin(2*np.pi*f0*t)).t

>然后我们可以运行mecm最大似然估计,方法是写入:

……代码块:

估计的完整数据向量,数据周期图的条件
期望(在傅里叶频率下),以及
psd_估计类的一个实例。

documentation
----


https://github.com/porlopoff/mecm/blob/master/docs/build/html/index.html>;`



contribution
----
mecm是一款开源软件。欢迎大家贡献!
请将原始论文放在科学论文中:
https://arxiv.org/abs/1608.08530

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储