$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r56895 - in sandbox/statistics/importance_weights: boost/importance_weights/algorithm libs/importance_weights/doc libs/importance_weights/example libs/importance_weights/src
From: erwann.rogard_at_[hidden]
Date: 2009-10-16 00:51:03
Author: e_r
Date: 2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
New Revision: 56895
URL: http://svn.boost.org/trac/boost/changeset/56895
Log:
m
Text files modified: 
   sandbox/statistics/importance_weights/boost/importance_weights/algorithm/apply_exp_offset.hpp         |     8 +++++---                                
   sandbox/statistics/importance_weights/boost/importance_weights/algorithm/effective_sample_size.hpp    |     8 +++++---                                
   sandbox/statistics/importance_weights/boost/importance_weights/algorithm/find_scale_to_finite_sum.hpp |     8 +++++---                                
   sandbox/statistics/importance_weights/boost/importance_weights/algorithm/maximal_finite_sums.hpp      |     8 +++++---                                
   sandbox/statistics/importance_weights/boost/importance_weights/algorithm/prepare_weights.hpp          |    28 +++++++++-------------------            
   sandbox/statistics/importance_weights/boost/importance_weights/algorithm/scale_to_finite_sum.hpp      |     8 +++++---                                
   sandbox/statistics/importance_weights/libs/importance_weights/doc/readme.txt                          |    10 ++++++----                              
   sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.cpp         |     4 ++--                                    
   sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.h           |     2 +-                                      
   sandbox/statistics/importance_weights/libs/importance_weights/src/main.cpp                            |     2 +-                                      
   10 files changed, 44 insertions(+), 42 deletions(-)
Modified: sandbox/statistics/importance_weights/boost/importance_weights/algorithm/apply_exp_offset.hpp
==============================================================================
--- sandbox/statistics/importance_weights/boost/importance_weights/algorithm/apply_exp_offset.hpp	(original)
+++ sandbox/statistics/importance_weights/boost/importance_weights/algorithm/apply_exp_offset.hpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::algorithm::apply_exp_offset                           //
+// statistics::importance_weights::algorithm::apply_exp_offset               //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)         //
 ///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_APPLY_EXP_OFFSET_HPP_ER_2009
-#define BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_APPLY_EXP_OFFSET_HPP_ER_2009
+#ifndef BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_APPLY_EXP_OFFSET_HPP_ER_2009
+#define BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_APPLY_EXP_OFFSET_HPP_ER_2009
 #include <cmath>
 #include <algorithm>
 #include <boost/lambda/lambda.hpp>
@@ -14,6 +14,7 @@
 #include <boost/math/tools/precision.hpp>
 
 namespace boost{
+namespace statistics{
 namespace importance_weights{
     
     // Returns          The smallest value, c, s/t *i + c <= t, i in [b_w,e_w)
@@ -55,6 +56,7 @@
     }
 
 }// importance_weights
+}// statistics
 }// boost
 
 #endif
\ No newline at end of file
Modified: sandbox/statistics/importance_weights/boost/importance_weights/algorithm/effective_sample_size.hpp
==============================================================================
--- sandbox/statistics/importance_weights/boost/importance_weights/algorithm/effective_sample_size.hpp	(original)
+++ sandbox/statistics/importance_weights/boost/importance_weights/algorithm/effective_sample_size.hpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::effective_sample_size.hpp                             //
+// statistics::importance_weights::effective_sample_size.hpp                 //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)         //
 ///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_EFFECTIVE_SAMPLE_SIZE_HPP_ER_2009
-#define BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_EFFECTIVE_SAMPLE_SIZE_HPP_ER_2009
+#ifndef BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_EFFECTIVE_SAMPLE_SIZE_HPP_ER_2009
+#define BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_EFFECTIVE_SAMPLE_SIZE_HPP_ER_2009
 #include <algorithm>
 #include <numeric>
 #include <iterator>
@@ -17,6 +17,7 @@
 #include <boost/functional/mean_var_accumulator.hpp>
 
 namespace boost{
+namespace statistics{
 namespace importance_weights{
     
     // Finds the number of iid observations whose standard error equates that
@@ -68,6 +69,7 @@
     }
 
 }// importance_weights            
+}// statistics
 }// boost
 
 #endif 
\ No newline at end of file
Modified: sandbox/statistics/importance_weights/boost/importance_weights/algorithm/find_scale_to_finite_sum.hpp
==============================================================================
--- sandbox/statistics/importance_weights/boost/importance_weights/algorithm/find_scale_to_finite_sum.hpp	(original)
+++ sandbox/statistics/importance_weights/boost/importance_weights/algorithm/find_scale_to_finite_sum.hpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::algorithm::find_scale_to_finite_sum.hpp               //
+// statistics::importance_weights::algorithm::find_scale_to_finite_sum.hpp   //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)         //
 ///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_FIND_SCALE_TO_FINITE_SUM_HPP_ER_2009
-#define BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_FIND_SCALE_TO_FINITE_SUM_HPP_ER_2009
+#ifndef BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_FIND_SCALE_TO_FINITE_SUM_HPP_ER_2009
+#define BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_FIND_SCALE_TO_FINITE_SUM_HPP_ER_2009
 #include <cmath>
 #include <numeric>
 #include <stdexcept>
@@ -19,6 +19,7 @@
 #include <boost/importance_weights/algorithm/maximal_finite_sums.hpp>
 
 namespace boost{
+namespace statistics{
 namespace importance_weights{
 
     // Finds c such that the sum over sum{*i/c, i in [b,e)} < inf using the
@@ -134,6 +135,7 @@
     }
 
 }// importance_weights
+}// statistics
 }// boost
 
 #endif
\ No newline at end of file
Modified: sandbox/statistics/importance_weights/boost/importance_weights/algorithm/maximal_finite_sums.hpp
==============================================================================
--- sandbox/statistics/importance_weights/boost/importance_weights/algorithm/maximal_finite_sums.hpp	(original)
+++ sandbox/statistics/importance_weights/boost/importance_weights/algorithm/maximal_finite_sums.hpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,16 +1,17 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::algorithm::maximal_finite_sums.hpp                    //
+// statistics::importance_weights::algorithm::maximal_finite_sums.hpp        //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)         //
 ///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_MAXIMAL_FINITE_SUMS_HPP_ER_2009
-#define BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_MAXIMAL_FINITE_SUMS_HPP_ER_2009
+#ifndef BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_MAXIMAL_FINITE_SUMS_HPP_ER_2009
+#define BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_MAXIMAL_FINITE_SUMS_HPP_ER_2009
 #include <boost/iterator/iterator_traits.hpp>
 #include <boost/math/special_functions/fpclassify.hpp>
 
 namespace boost{
+namespace statistics{
 namespace importance_weights{
 
     // Breaks down the summation of *i, i in [b,e) into maximal finite amounts,
@@ -35,6 +36,7 @@
     };
     
 }// importance_weights
+}// statistics
 }// boost
 
 #endif
\ No newline at end of file
Modified: sandbox/statistics/importance_weights/boost/importance_weights/algorithm/prepare_weights.hpp
==============================================================================
--- sandbox/statistics/importance_weights/boost/importance_weights/algorithm/prepare_weights.hpp	(original)
+++ sandbox/statistics/importance_weights/boost/importance_weights/algorithm/prepare_weights.hpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::algorithm::prepare_weights.hpp                        //
+// statistics::importance_weights::algorithm::prepare_weights.hpp            //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)         //
 ///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_PREPARE_WEIGHTS_HPP_ER_2009
-#define BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_PREPARE_WEIGHTS_HPP_ER_2009
+#ifndef BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_PREPARE_WEIGHTS_HPP_ER_2009
+#define BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_PREPARE_WEIGHTS_HPP_ER_2009
 #include <iterator>
 #include <functional>
 #include <boost/format.hpp>
@@ -19,6 +19,7 @@
 #include <boost/importance_weights/algorithm/effective_sample_size.hpp>
 
 namespace boost{
+namespace statistics{
 namespace importance_weights{
 
     // Warning: read side effects carefully.
@@ -46,12 +47,10 @@
         // [ Side effect ] 
         // 1) w <- exp(lw+offset)
         // 2) if needed, w <- w/c such that sum{w} < inf
-        // Deprecated: 3) Sorts [b_w,e_w) in decr order, and [b_p,e_p) accordingly
-        template<typename ItW,typename ItP>
+        template<typename ItW>
         void operator()(
             ItW b_w,    // log( unnormalized weights )
-            ItW e_w,
-            ItP b_p     // proposal values
+            ItW e_w    
         );
 
         public:
@@ -111,12 +110,11 @@
     offset(zero),scaling_factor(zero),pc_ess(zero),pc_lt_eps(zero){}
     
     template<typename T>
-    template<typename ItW,typename ItP>
+    template<typename ItW>
     void
     prepare_weights<T>::operator()(
         ItW b_w,
-        ItW e_w,
-        ItP b_p
+        ItW e_w
     ){
         offset = apply_exp_offset(
             b_w,
@@ -124,15 +122,6 @@
             max_log
         );
 
-        // Deprecated because of discrete_distribution (see importance_sampling)
-        // crucial that this step precedes scale_to_finite_sum because
-        // finiteness is not nec preserved by reordering (non associativity)
-        //binary_op::sort_on_head_greater(
-        //    b_w,
-        //    e_w,
-        //    b_p
-        //);  
-
         // if max_log is small enough (which costs precision), this does not 
         // nothing i.e. scaling_factor = 1
         scaling_factor = scale_to_finite_sum(
@@ -165,6 +154,7 @@
     }
 
 }// importance_weights
+}// statistics
 }// boost
 
 #endif
\ No newline at end of file
Modified: sandbox/statistics/importance_weights/boost/importance_weights/algorithm/scale_to_finite_sum.hpp
==============================================================================
--- sandbox/statistics/importance_weights/boost/importance_weights/algorithm/scale_to_finite_sum.hpp	(original)
+++ sandbox/statistics/importance_weights/boost/importance_weights/algorithm/scale_to_finite_sum.hpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,18 +1,19 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::algorithm::scale_to_finite_sum.hpp                    //
+// statistics::importance_weights::algorithm::scale_to_finite_sum.hpp        //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)         //
 ///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_SCALE_TO_FINITE_SUM_HPP_ER_2009
-#define BOOST_IMPORTANCE_WEIGHTS_ALGORITHM_SCALE_TO_FINITE_SUM_HPP_ER_2009
+#ifndef BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_SCALE_TO_FINITE_SUM_HPP_ER_2009
+#define BOOST_STATISTICS_IMPORTANCE_WEIGHTS_ALGORITHM_SCALE_TO_FINITE_SUM_HPP_ER_2009
 #include <numeric>
 #include <boost/lambda/lambda.hpp>
 #include <boost/range.hpp>
 #include <boost/importance_weights/algorithm/find_scale_to_finite_sum.hpp>
 
 namespace boost{
+namespace statistics{
 namespace importance_weights{
 
     // Scales each element [b,e) by the smallest factor, c, such that the sum 
@@ -67,6 +68,7 @@
     }
 
 }// importance_weights
+}// statistics
 }// boost
 
 #endif
\ No newline at end of file
Modified: sandbox/statistics/importance_weights/libs/importance_weights/doc/readme.txt
==============================================================================
--- sandbox/statistics/importance_weights/libs/importance_weights/doc/readme.txt	(original)
+++ sandbox/statistics/importance_weights/libs/importance_weights/doc/readme.txt	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,5 +1,5 @@
 //////////////////////////////////////////////////////////////////////////////
-// importance_weights::doc::readme                                          //
+// statistics::importance_weights::doc::readme                              //
 //                                                                          //
 //  (C) Copyright 2009 Erwann Rogard                                        //
 //  Use, modification and distribution are subject to the                   //
@@ -28,8 +28,7 @@
 [ Dependencies ]
 
 /usr/local/boost_1_39_0/ 
-/sandbox/statistics/non_param/ 
-/sandbox/statistics/binary_op/ 
+/sandbox/statistics/empirical_cdf/ 
 /sandbox/statistics/functional/
 
 [ Sources ]
@@ -43,7 +42,10 @@
 
 [ History ]
 
-July 2009 : Current version
+Sep  3 2009 : 
+    - replaced importance_weights by statistics::importance_weights
+    - simplified the interface of prepare_weights
+July   2009 : Creation
 
 [ Output ]
 
Modified: sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.cpp
==============================================================================
--- sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.cpp	(original)
+++ sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.cpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::example::scale_to_finite_sum.cpp                      //
+// statistics::importance_weights::example::scale_to_finite_sum.cpp          //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
@@ -39,7 +39,7 @@
     }
 
     // Computations
-    val_ c = importance_weights::scale_to_finite_sum(
+    val_ c = statistics::importance_weights::scale_to_finite_sum(
         boost::begin(vec_in),
         boost::end(vec_in)
     );
Modified: sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.h
==============================================================================
--- sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.h	(original)
+++ sandbox/statistics/importance_weights/libs/importance_weights/example/scale_to_finite_sum.h	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::example::scale_to_finite_sum.h                        //
+// statistics::importance_weights::example::scale_to_finite_sum.h            //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //
Modified: sandbox/statistics/importance_weights/libs/importance_weights/src/main.cpp
==============================================================================
--- sandbox/statistics/importance_weights/libs/importance_weights/src/main.cpp	(original)
+++ sandbox/statistics/importance_weights/libs/importance_weights/src/main.cpp	2009-10-16 00:51:01 EDT (Fri, 16 Oct 2009)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// importance_weights::example::scale_to_finite_sum.h                        //
+// statistics::importance_weights::example::scale_to_finite_sum.h            //
 //                                                                           //
 //  Copyright 2009 Erwann Rogard. Distributed under the Boost                //
 //  Software License, Version 1.0. (See accompanying file                    //