threshold.wp(wavethresh)
threshold.wp()所属R语言包:wavethresh
Threshold wavelet packet decomposition object
阈值的小波包分解对象
译者:生物统计家园网 机器人LoveR
描述----------Description----------
This function provides various ways to threshold a wp class object.
此功能提供了多种阈值一个wp类对象。
用法----------Usage----------
## S3 method for class 'wp':
threshold(wp, levels = 3nlevels(wp) - 1), dev = madmad,
policy = "universal", value = 0, by.level = FALSE, type = "soft",
verbose = FALSE, return.threshold = FALSE, cvtol = 0.01, cvnorm = l2norm,
add.history = TRUE, ...)
参数----------Arguments----------
参数:wp
The wavelet packet object that you wish to threshold.
小波包对象,你想的阈值。
参数:levels
a vector of integers which determines which scale levels are thresholded in the decomposition. Each integer in the vector must refer to a valid level in the wd object supplied. This is usually any integer from 0 to nlevels(wp)-1 inclusive. Only the levels in this vector contribute to the computation of the threshold and its application.
决定哪些规模水平的阈值分解的向量整数。向量中的每个整数必须在wd对象提供一个有效的水平。这通常是从0到nlevels(可湿性粉剂)-1包容性的任一整数。只有在此向量的水平作出贡献的阈值的计算及其应用。
参数:policy
selects the technique by which the threshold value is selected. Each policy corresponds to a method in the literature. At present the different policies are: "universal" and "manual". The policies are described in detail below.
选择被选择的阈值的技术,通过该技术。每个策略对应的方法在文献中。目前,不同的政策是:“universal”和“manual”。详细below的政策。
参数:by.level
If FALSE then a global threshold is computed on and applied to all scale levels defined in levels. If TRUE a threshold is computed and applied separately to each scale level.
如果为FALSE,那么一个全球性的阈值计算,并适用于所有等级的定义在levels。如果真正的阈值计算,并分别应用到每一个规模水平。
参数:value
This argument conveys the user supplied threshold. If the policy="manual" then value is the actual threshold value.
这个参数传递的用户提供的阈值。如果policy="manual"那么该值是实际的阈值。
参数:dev
this argument supplies the function to be used to compute the spread of the absolute values coefficients. The function supplied must return a value of spread on the variance scale (i.e. not standard deviation) such as the var() function. A popular, useful and robust alternative is the madmad function.
此参数提供的功能被用于计算的绝对值的系数的传播。提供的函数必须返回一个值传播的方差比例(即不标准差),如var()功能。一个流行的,有用的和强大的另一种方法是madmad功能。
参数:type
determines the type of thresholding this can be "hard" or "soft".
确定阈值的类型,这可能是“hard”或“soft”。
参数:verbose
if TRUE then the function prints out informative messages as it progresses.
如果真,那么该函数打印出的信息性消息,因为它的进展。
参数:return.threshold
If this option is TRUE then the actual value of the threshold is returned. If this option is FALSE then a thresholded version of the input is returned.
如果该选项是TRUE,则该阈值的实际值被返回。如果此选项为FALSE,则返回一个版本的输入阈值。
参数:cvtol
Not used, but reserved for future use
不使用,但保留供将来使用
参数:cvnorm
Not used, but reserved for future use
不使用,但保留供将来使用
参数:add.history
if TRUE then a history statement is added to the object for displaying.
如果TRUE的历史语句被添加到显示的对象。
参数:...
any other arguments
任何其他参数
Details
详细信息----------Details----------
This function thresholds or shrinks wavelet coefficients stored in a wp object and returns the coefficients in a modified wp object. See the seminal papers by Donoho and Johnstone for explanations about thresholding. For a gentle introduction to wavelet thresholding (or shrinkage as it is sometimes called) see Nason and Silverman, 1994. For more details on each technique see the descriptions of each method below
此函数的阈值或缩小的小波系数存储在一个wp对象,并返回的改性wp对象中的系数。 Donoho和Johnstone的开创性论文的说明,关于阈值。对于简单的介绍小波阈值(或收缩,因为它有时也被称为),见利晨和Silverman,1994年。对于每个技术的详细信息,请参阅下面的每个方法的描述
The basic idea of thresholding is very simple. In a signal plus noise model the wavelet transform of signal is very sparse, the wavelet transform of noise is not (in particular, if the noise is iid Gaussian then so if the noise contained in the wavelet coefficients). Thus since the signal gets concentrated in the wavelet coefficients and the noise remains "spread" out it is "easy" to separate the signal from noise by keeping large coefficients (which correspond to signal) and delete the small ones (which correspond to noise). However, one has to have some idea of the noise level (computed using the dev option in threshold functions). If the noise level is very large then it is possible, as usual, that no signal "sticks up" above the noise.
阈值的基本思想是非常简单的。在小波变换的信号的信号加噪声模型是很稀疏,小波变换等的噪声是不(特别是,如果噪声是独立同分布的高斯那么,如果包含的噪声在小波系数)。因此,由于得到的信号中的子波系数和浓缩噪声仍然“蔓延”出来,它是“容易”的分离信号从噪声中的保持大系数(对应的信号),和删除的小的(这对应于噪声) 。然而,有一些想法的噪声电平(使用dev选项的阈值函数计算)。如果噪声电平是非常大的,那么它是可能的,像往常一样,没有信号“,坚持”以上的噪音。
There are many components to a successful thresholding procedure. Some components have a larger effect than others but the effect is not the same in all practical data situations. Here we give some rough practical guidance, although you must refer to the papers below when using a particular technique. You cannot expect to get excellent performance on all signals unless you fully understand the rationale and limitations of each method below. I am not in favour of the "black-box" approach. The thresholding functions of WaveThresh3 are not a black box: experience and judgement are required!
一个成功的阈值程序有许多组件。某些组件有一个比别人更大的效果,但效果是不一样的,在所有实际数据的情况下。在这里,我们给出了一些粗糙的实用指导,但你必须参考以下的文件时使用特定的技术。除非你完全理解下面的基本原理和每种方法的局限,你不能指望获得优异的性能对所有信号。我并不赞成“黑盒子”的方法。阈值函数的WaveThresh3是不是黑盒的经验和判断!
Some issues to watch for:
注意的一些问题:
levels The default of levels = 3wd$nlevels - 1) for the levels option most certainly does not work globally for all data problems and situations. The level at which thresholding begins (i.e. the given threshold and finer scale wavelets) is called the primary resolution and is unique to a particular problem. In some ways choice of the primary resolution is very similar to choosing the bandwidth in kernel regression albeit on a logarithmic scale. See Hall and Patil, (1995) and Hall and Nason (1997) for more information. For each data problem you need to work out which is the best primary resolution. This can be done by gaining experience at what works best, or using prior knowledge. It is possible to "automatically" choose a "best" primary resolution using cross-validation (but not in WaveThresh).
水平默认的levels = 3wd$nlevels - 1)levels选项当然没有在全球范围的所有数据的问题和情况。在哪一级的阈值开始(即在给定的阈值和更细的刻度小波)称为主分辨率和是唯一的一个特别的问题。在某些方面,主决议选择是非常类似的选择的带宽在内核回归尽管在对数刻度。见厅和Patil(1995)和霍尔和利晨(1997)更多信息。对于每一个数据的问题,你需要的工作,这是最好的小学分辨率。这是可以做到什么效果最好,获得经验或使用先验知识。这是可能的“自动”选择“最佳”的主要决议,采用交叉验证(而不是在WaveThresh)。
Secondly the levels argument computes and applies the threshold at the levels specified in the levels argument. It does this for all the levels specified. Sometimes, in wavelet shrinkage, the threshold is computed using only the finest scale coefficients (or more precisely the estimate of the overall noise level). If you want your threshold variance estimate only to use the finest scale coefficients (e.g. with universal thresholding) then you will have to apply the threshold.wp function twice. Once (with levels set equal to nlevels(wd)-1 and with return.threshold=TRUE to return the threshold computed on the finest scale and then apply the threshold function with the manual option supplying the value of the previously computed threshold as the value options.
其次,各级参数的阈值水平levels参数中指定的计算和应用。为此,它规定的水平。有时,在小波阈值,该阈值计算只用最好的比例系数(或更精确的估计的整体噪声水平)。如果您希望您的阈值的方差估计只有使用最好的规模系数(即通用阈值),那么你将不得不申请threshold.wp函数两次。一旦(与水平设置为等于nlevels(WD)-1与return.threshold=TRUE返回规模最好计算的阈值,然后应用与手动选项供给的先前计算的值的阈值函数阈值的价值选择。
by.levelfor a wd object which has come from data with noise that is correlated then you should have a threshold computed for each resolution level. See the paper by Johnstone and Silverman, 1997.
by.levelfor一个wd对象来自相关的噪音,那么你应该有一个阈值,计算出每个分辨率级别的数据。约翰斯通和Silverman,1997年的文件。
值----------Value----------
An object of class wp. This object contains the thresholded wavelet coefficients. Note that if the return.threshold option is set to TRUE then the threshold values will be returned rather than the thresholded object.
对象的类wp。该对象包含阈值的小波系数。请注意,如果return.threshold选项被设置为TRUE,则阈值将被返回,而比阈值对象。
RELEASE----------RELEASE----------
Version 3.6 Copyright Guy Nason and others1997.
3.6版版权,盖伊利晨和others1997的。
注意----------Note----------
POLICIES
政策
This section gives a brief description of the different thresholding policies available. For further details see the associated papers. If there is no paper available then a small description is provided here. More than one policy may be good for problem, so experiment! They are arranged here in alphabetical order:
本节给出了不同的阈值策略的简要说明。有关进一步详情,请参阅相关的文件。如果没有纸张可用,则一个小的描述在此提供。超过一个策略可能是很好的问题,所以实验!他们被安排在这里按字母顺序排列:
universalSee Donoho and Johnstone, 1995.
universalSee Donoho和Johnstone,1995年。
(作者)----------Author(s)----------
G P Nason
参见----------See Also----------
wp, wp.object, InvBasis, MaNoVe, threshold.
wp,wp.object,InvBasis,MaNoVe,threshold。
实例----------Examples----------
#[]
# Generate some test data[生成一些测试数据。]
#[]
test.data <- example.1()$y
## Not run: ts.plot(test.data)[#不运行:ts.plot(test.data)]
#[]
# Generate some noisy data[产生一些噪声数据]
#[]
ynoise <- test.data + rnorm(512, sd=0.1)
#[]
# Plot it[画出它]
#[]
## Not run: ts.plot(ynoise)[#不运行:ts.plot(ynoise)]
#[]
# Now take the discrete wavelet packet transform[现在的离散小波包变换]
# N.b. I have no idea if the default wavelets here are appropriate for[注意:我不知道,如果默认情况下的小波这里是适合]
# this particular examples. [这个特殊的例子。]
#[]
ynwp <- wp(ynoise)
#[]
# Now do thresholding. We'll use a universal policy, [现在做的阈值。我们将使用一个通用的政策,]
# and madmad deviance estimate on the finest[madmad偏差估计最好的]
# coefficients and return the threshold. We'll also get it to be verbose[系数和阈值返回。我们也将得到它是详细]
# so we can watch the process.[因此,我们可以看的过程。]
#[]
ynwpT1 <- threshold(ynwp, policy="universal", dev=madmad)
#[]
# This is just another wp object. Is it sensible?[这仅仅是一个WP的对象。它是明智的吗?]
# Probably not as we have just thresholded the scaling function coefficients[可能不那么容易,我们只是阈值的尺度函数系数]
# as well. So the threshold might be more sensibly computed on the wavelet[为好。因此,阈值可能更理智地计算小波]
# coefficients at the finest scale and then this threshold applied to the[在最好的规模,然后此阈值的系数施加到]
# whole wavelet tree??[整个小波树?]
转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。
注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
|