-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNEWS
executable file
·443 lines (302 loc) · 18.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
Changes in tolerance Version 3.0.X
============================
* 2024-XX-XX
* Provided updated NEWS file, which mistakenly did not get uploaded with version 3.0.0.
* Updated logistol.int() to include two methods: "HALL" and "BE". The "HALL" method is the default
method that has always existed in 'tolerance'. The added method of "BE" is that due to Bain and
Englehardt (1991). This method is more stable and mitigates some of the numerical issues due to the "HALL"
method. Thanks to Yixuan Zou and Cameron Willden for both pointing out this method and for providing the
necessary code.
Changes in tolerance Version 3.0.0
============================
* 2024-04-18
* Modernized the graphics infrastructure of 'tolerance' by using 'plotly' instead of base R graphics. This
modernization resulted in 'rgl' no longer being a required package, but no functionality in old graphics
functions has been impacted. The new graphics functions include plotly_anovatol(), plotly_controltol(),
plotly_histtol(), plotly_multitol(), plotly_normOC(), plotly_npmvtol(), and plotly_regtol().
* Added the semiconttol.int() function, which constructs fiducial-based confidence, prediction, and tolerance
limits for semicontinuous data. Specifically, the routines are for the zero-inflated lognormal and zero-inflated
gamma distributions.
* Improved accuracy of the "OCT" method in K.factor().
* Updated ddiffprop() and pdiffprop() functions using an interpolation procedure. While the routines are
slower, they now avoid some numerical overflow issues from before. Thanks to Gustaf Rydevik for
pointing out this error.
* Fixed incorrect handling of the upper and lower arguments in the npbetol.int() function.
* Removed an unnecessary print statement in logistol.int(). Thanks to @bd-cameron-willden for identifying
this error.
* Acknowledged that updates to this version were made possible through Chan Zuckerberg Initiative: Essential
Open Source Software for Science (Grant No. 2020-255193).
* Added Kedai Cheng (UNC-Asheville) as a co-author.
* Updated documentation and numerous references.
Changes in tolerance Version 2.0.0
============================
* 2020-02-04
* Fixed compatibility issues with R 4.0.0.
* Substantial changes made to mvregtol.region(). This function no longer depends on inputted y and x
matrices, but rather a new mvreg argument, which is of class "mlm", is required. Moreover, the int
argument for specifying an intercept is deprecated as the inclusion/exclusion of an intercept is
identified through the formula used for the fit of the mvreg object.
* Fixed multiple problems with regtol.int() in order to calculate tolerance intervals for the regression through
the origin model, a model with interactions, and polynomial regression. Thanks to Tian Liu and
Aisaku Nakamura for suggestions.
* Added npbetol.int() function for calculating nonparametric beta-expectation tolerance intervals.
* Modified pnyhper() function to make it more efficient. Thanks to Jerry Lewis for this
suggestion.
* Fixed bug in norm.ss() function for the "DIR" method. The "sig2.0" hyperparameter was
treated as the standard deviation, but now has been corrected to reflect the variance.
Thanks to David Whiting and John Szumiloski for pointing out this bug.
* Modified the logistol.int() function to use the method of moments estimators in extreme cases
when the MLEs cannot be numerically calculated.
* Modified the gamtol.int() function so that the calculation can be performed when the
observed data are very small. Thanks to Kevin Bright for pointing out this error.
* Fixed bug in nptol.int() function for the "YM" option when P is very small. Thanks to
Karen Byron for pointing this out.
* Revised some of the documentation for the Zipf-Mandelbrot distributions, courtesy of a
good suggestion by Jan Kardaun.
* Updated some references.
Changes in tolerance Version 1.3.0
============================
* 2017-02-03
* Updated "Title" and "Description" to reflect new CRAN policies.
* Added an error message if a vector of length less than 2 is used for the data argument in
nptol.int(). Thanks to Maxim Nazarov for the suggestion.
* Fixed bug in dnhyper() for case where x=0. Thanks to Jerry Lewis for reporting this bug.
* Added functions for constructing simultaneous tolerance limits for normal populations. This includes a
k-factor function [K.factor.sim()] and a function to construct the simultaneous normal tolerance limits
[simnormtol.int()]. Thanks to Andrew Landgraf for providing his code for the K.factor.sim() function.
* Updated some references.
Changes in tolerance Version 1.2.0
============================
* 2016-02-17
* Added functions for the discrete Pareto distribution. This includes distribution functions [ddpareto(), pdpareto(),
qdpareto(), and rdpareto()], a maximum likelihood function [dpareto.ll()], and a function for calculating approximate
tolerance intervals [dparetotol.int()]. Thanks to Mehran Naghizadeh Qomi and Azadeh Kiapour for initial versions of these
functions and for thoroughly testing the final functions.
* Fixed issue with loading stats4 package for the zm.ll() and poislind.ll() functions.
* Added norm.OC(), a function for producing OC-type curves to illustrate how values of the k-factors for normal tolerance intervals,
confidence levels, and content levels change as a function of the sample size.
* Corrected error in anovatol.int() function. The k-factor calculation in the previous version used an incorrect value for the
degrees of freedom in the formula.
* Fixed typo in norm.ss() documentation.
* Modified K.table() code to allow user to specify any of the ways to compute the underlying normal k-factors.
* Modified regolt.int() code to allow predictions when weighting is used.
* Fixed typos in dpoislind() and ppoislind() functions regarding the logarithm options.
Changes in tolerance Version 1.1.1
============================
* 2015-12-11
* Added bayesnormtol.int(), a function to construct Bayesian normal tolerance intervals.
* Added norm.ss(), a function with various strategies for sample size determination using normal tolerance intervals.
* Updated some references.
Changes in tolerance Version 1.1.0
============================
* 2015-04-15
* Added functions for the discrete Poisson-Lindley distribution. This includes distribution functions [dpoislind(), ppoislind(),
qpoislind(), and rpoislind()], a maximum likelihood function [poislind.ll()], and a function for calculating approximate
tolerance intervals [poislindtol.int()].
* In the K.factor() function, the upper limit in the integrate function for the "EXACT" method was changed
from 10 to 5. A numerical error would sometimes occur for extreme values of alpha, which appears to be
fixed by this change. If any errors pertaining to the integrate function are obtained because of this
change, please contact me and I will try to dig into this further.
Changes in tolerance Version 1.0.0
============================
* 2014-09-03
* Fixed small bug in the qnhyper() function. Fixed an incorrect assignment in the dnyhper()
and the pnhyper() functions.
* Added the "EX" option for an exact method calculation in the neghypertol.int() function.
* Added the "EX" option for an exact method calculation and fixed how lower and upper bounds
were defined in the hypertol.int() function.
* Added the "YM" method to nptol.int(), which is the Young-Mathew method for improved nonparametric
tolerance intervals based on interpolated and extrapolated order statistics.
* Updated some documentation.
* Updated my contact e-mail as maintainer.
Changes in tolerance Version 0.5.3
============================
* 2013-10-11
* Updated the "OCT" option in the K.factor() function to allow the user to use the degrees of
freedom option, "f".
* Fixed a bug in the bonftol.int() function. The "alpha" argument was not passed correctly to
the type of tolerance interval being calculated. Thanks to Alson Look for reporting this bug.
* Updated references.
Changes in tolerance Version 0.5.2
============================
* 2012-09-23
* The mvtol.region() function was updated to include many different ways to approximate the tolerance factor for
multivariate normal data. These were mainly included for comparative purposes. The default method ("KM") is the
Krishnamoorthy-Mondal method, which was the method used in all previous versions of the 'tolerance' package.
* Fixed a bug in the K.table() function. When summarizing by "n", the wrong indexing was used, thus yielding
incorrect results.
Changes in tolerance Version 0.5.1
============================
* 2012-08-28
* The functions related to Zipf-Mandelbrot distributions have been updated. The distribution functions (i.e.,
qzipfman, pzipfman, dzipfman, and rzipfman) have all been updated to be more efficient. Moreover, there were
some computational issues for extreme quantiles in these functions. Namely, negative density values would
be returned. There have been corrections for these bugs, plus I have included an interpolation procedure
when calculating very large quantities for the zeta distribution. Deleted the "exact" option in the respective functions.
* The zipftol.int function has been updated to include the changes in the distribution functions. There is
also a new argument that allows the user to specify how to handle ties. Namely, if the limit is calculated at
a category that has the same frequency as other adjacent categories, then you can either take the most extreme of those
tied categories (which would be the lowest of the tied categories for the lower limit and the highest of the tied categories
for the upper limit) or simply take the category that was estimated by the procedure. This latter approach would only be used
if there is some scientific knowledge that could basically guide the user with setting an ordinal ranking of the tied
categories.
Changes in tolerance Version 0.5.0
============================
* 2012-07-19
* Added code for using a fiducial approach to estimate tolerance intervals for the function of
two binomial proportions (fidbintol.int), two Poisson rates (fidpoistol.int), and two negative binomial
proportions (fidnegbintol.int).
* Added three new options for estimating the two-sided K-factor for the normal setting: one due
to Howe, one due to Krishnamoorthy and Mathew, and one for controlling the tail probabilities.
The exact method has also been made more efficient. Also, corrected a small error in the normtol.int
function that did not allow the user to call all of the possible methods as cited in the documentation.
The K.factor() function was also vectorized to accommodate a vector of sample sizes.
* Added a function that calculates Appell's hypergeometric function of the first
kind (F1), distribution functions for the difference between two proportions (qdiffprop,
pdiffprop, ddiffprop, and rdiffprop), and code for estimating tolerance intervals for the
difference between two proportions using a fiducial-based approach (diffproptol.int).
* Condensed the Zipf, Zipf-Mandelbrot, and zeta distribution functions into
the qzipfman, pzipfman, dzipfman, and rzipfman functions. This simultaneously
corrected a minor bug in the original distribution functions of the three distributions.
Searches on any of these distributions will now point to these new functions. Future work will
likely be done on these functions to make them more efficient.
* Added distribution functions (i.e., density, cumulative distribution,
quantile, and random generation) for the negative hypergeometric
distribution.
* Added the Krishnamoorthy-Mathew approach for computing the upper tolerance bound for the 2-parameter
exponential distribution.
* Added neghypertol.int() function for calculating tolerance limits for
negative hypergeometric random variables.
* Added hypertol.int() function for calculating tolerance limits for
hypergeometric random variables.
* Added new options for how the confidence intervals for the
binomial proportions are calculated in the bintol.int function.
Specifically, the methods "PR", "PO", "CL", "CC", and "CWS" have been added,
which are for the probit transformation, Poisson parameterization,
complementary log transformation, continuity corrected large sample approach,
and continuity corrected Wilson's approach, respectively.
* Added new options for how the confidence intervals for the
Poisson rates are calculated in the poistol.int function.
Specifically, the methods "CC", "VS", "RVS", "FT", and "CSC" have been added,
which are for the continuity corrected large sample approach, the variance-
stabilization approach, the recentered variance stabilization approach, the
Freeman-Tukey method, and the continuity corrected score method, respectively.
* Completely overhauled the negbintol.int function, which was
not providing good estimates. The new version provides many
ways to estimate the negative binomial proportion confidence intervals,
similar to how the binomial and Poisson tolerance limits are constructed.
An article has also been submitted outlining the procedure.
* The use of the ppois function was misspecified for the lower
tolerance limit in the poistol.int function. This resulted in the
reported lower limit being larger by 1 value. This has been
corrected.
* Fixed the umatol.int function to allow the case of x = 0.
* Fixed a small typo in the negbintol.int documentation.
* Put maximum tolerance limits for the discrete distributions at Inf
instead of 0.
Changes in tolerance Version 0.4.0
============================
* 2011-12-07
* Added negbintol.int() function for calculating tolerance limits for
negative binomial random variables.
* Updated poistol.int() to also include the score method as a way to
estimate the tolerance limits.
* Added distribution functions (i.e., density, cumulative distribution,
quantile, and random generation) for zeta, Zipf, and Zipf-Mandelbrot
distributions.
* Added zm.ll() function for estimation of the shape parameter(s) in the
zeta, Zipf, and Zipf-Mandelbrot distributions.
* Added zipftol.int() function for calculating tolerance intervals for the
zeta, Zipf, and Zipf-Mandelbrot distributions.
* Corrected bug in p2exp() and q2exp() functions.
* Corrected how the output is displayed for the nptol.int()
function when method="HM".
* Fixed rounding error in the acc.samp() function and added
clarifying text in the acc.samp() documentation.
* Fixed estimation issue in exttol.int() function. The Newton-Raphson
algorithm had an error when parameter values were relatively large.
Changes in tolerance Version 0.3.0
============================
* 2011-04-03
* Changed the output for regtol.int(), nlregtol.int(),
and npregtol.int() from class "matrix" to "data.frame".
* Updated K.factor() to also include the option method="EXACT",
which does an exact calculation of two-sided k-factors
by numerically solving the necessary integral calculation.
* Reflected the new exact method for calculating the k-factors
above in the gamtol.int() and anovatol.int() functions.
* The function bonftol.int() was added to approximate two-sided
tolerance intervals that control the proportion of the population
in the tails.
* The function diffnormtol.int() was added for calculating one-sided
tolerance limits for the difference between two independent
normal random variables. An exact calculation is performed when
the variance ratio is known, while various estimation methods are
used when the variance ratio is unknown.
* Updated references.
Changes in tolerance Version 0.2.3
============================
* 2010-10-07
* Corrected acc.samp() function so that the output is of class
"matrix".
* Changed the exp2tol.int() function so that it does not
automatically truncate the lower tolerance limit at 0.
* The function paretotol.int() was added to estimate tolerance
intervals for the Pareto distribution as well as the power
distribution.
Changes in tolerance Version 0.2.2
============================
* 2010-07-30
* Updated references.
* Fixed minor typos in documentation.
Changes in tolerance Version 0.2.1
============================
* 2010-05-16
* Started a "NEWS" file for changes in the package.
* Changed the way the k-factor for the two-sided linear and
nonlinear regression tolerance intervals are calculated. Before,
an approximation was used. A more accurate method (presented at the
bottom of p. 70 of Krishnamoorthy and Mathew (2009)) is used.
* Fixed a serious bug with the way nlregtol.int() checks that
the pseudo-design matrix is, in fact, invertible.
* The function mvregtol.region() was added to estimate multivariate
multiple linear regression tolerance factors.
Changes in tolerance Version 0.2.0
============================
* 2010-05-02
* New function anovatol.int() performs tolerance interval
calculations for balanced ANOVA.
* New function np.order() performs sample size determination
for tolerance limits based on order statistics.
* New function umatol.int() performs uniformly most accurate
upper tolerance limits for the Poisson, binomial, and negative
binomial distributions.
* Updated K.factor() to also include the option method="ELL"
for the Ellison correction method.
* Updated acc.samp() to include the option RQL. Documentation
has also been updated to provide more detailed explanations of the
function's arguments.
* Updated exttol.int() to also perform calculations for the
Gumbel distribution for the maximum. Before, this function only
did calculations for the Weibull distribution and the Gumbel
distribution for the minimum.
* The portion of code for gammatol.int() when side=2 was
incorrect. It has now been corrected.
* laptol.int(), logistol.int(), uniftol.int(), and
exttol.int() all now include the option side=2 to estimate
two-sided tolerance intervals. The option simply calculates a
Bonferroni approximation for the two-sided setting.
* uniftol.int() has now been written to for the general
uniform case and not simply for the setting where the distribution
has a lower bound of 0.
* plottol() has been updated so that pch=19 is used by default
for all of the scatterplots. It also includes functionality for a
plot pertaining to output from the new anovatol.int() function.
* Fixed minor typos in the documentation (e.g., the Poisson
tolerance intervals documentation originally said "Poison").
* Added some additional references to some of the
documentation.
Changes in tolerance Version 0.1.0
============================
* 2009-06-29
* The 'tolerance' package is officially launched.