From issues-return-10196-apmail-commons-issues-archive=commons.apache.org@commons.apache.org Wed Oct 07 17:01:03 2009 Return-Path: Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: (qmail 16452 invoked from network); 7 Oct 2009 17:01:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 Oct 2009 17:01:03 -0000 Received: (qmail 28492 invoked by uid 500); 7 Oct 2009 17:01:03 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 28397 invoked by uid 500); 7 Oct 2009 17:01:02 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 28387 invoked by uid 99); 7 Oct 2009 17:01:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Oct 2009 17:01:02 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Oct 2009 17:00:52 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 90586234C1F0 for ; Wed, 7 Oct 2009 10:00:31 -0700 (PDT) Message-ID: <883934161.1254934831590.JavaMail.jira@brutus> Date: Wed, 7 Oct 2009 10:00:31 -0700 (PDT) From: "Romeo Palijan (JIRA)" To: issues@commons.apache.org Subject: [jira] Commented: (MATH-296) LoessInterpolator.smooth() not working correctly In-Reply-To: <878072684.1253135757547.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/MATH-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763126#action_12763126 ] Romeo Palijan commented on MATH-296: ------------------------------------ Yes. I think that is correct. No influence on the approximation coefficients but still getting normalized (getting approximation values). Here is an except from the userguide for the R-limma package, which uses the loessFit function for some operations: ??Any spot quality weights found in RG will be used in the normalization by default. This means for example that spots with zero weight (flagged out) will not influence the normalization of other spots. The use of spot quality weights will not however result in any spots being removed from the data object. Even spots with zero weight will be normalized and will appear in the output object, such spots will simply not have any influence on the other spots.?? However I am not sure how to handle the bandwidth. Example: if you have a bandwidth of 0.3, how do you compute the relevant points? 1. Find the 30% in the complete set and the use only the weighted ones inside this set 2. Look at all weighted ones and use 30% of them To me the first one sounds like the logical one but I am not sure. > LoessInterpolator.smooth() not working correctly > ------------------------------------------------ > > Key: MATH-296 > URL: https://issues.apache.org/jira/browse/MATH-296 > Project: Commons Math > Issue Type: Bug > Affects Versions: 2.0 > Environment: Java 1.6 on Vista > Reporter: Romeo Palijan > Fix For: 2.1 > > Attachments: math-296-test.patch, math-296.patch > > > I have been comparing LoessInterpolator.smooth output with the loessFit output from R (R-project.org, probably the most widely used loess implementation) and have had strangely different numbers. I have created a small set to test the difference and something seems to be wrong with the smooth method but I do no know what and I do not understand the code. > *Example 1* > |x-input: |1.5| 3.0| 6| 8| 12|13| 22| 24|28|31| > |y-input: |3.1|6.1|3.1|2.1|1.4|5.1|5.1|6.1|7.1|7.2| > |Output LoessInterpolator.smooth():|NaN|NaN|NaN|NaN|NaN|NaN|NaN|NaN|NaN|NaN| > |Output from loessFit() from R: |3.191178027520974|3.0407201231474037|2.7089538903778636|2.7450823274490297|4.388011000549519|4.60078952381848|5.2988217587114805|5.867536388457898|6.7797794777879705|7.444888598397342| > *Example 2 (same x-values, y-values just floored)* > |x-input: |1.5| 3.0| 6| 8| 12|13| 22| 24|28|31| > |y-input: |3|6|3|2|1|5|5|6|7|7| > |Output LoessInterpolator.smooth(): |3|6|3|2|0.9999999999999005|5.0000000000001705|5|5.999999999999972|7|6.999999999999967| > |Output from loessFit() from R: |3.091423927353068|2.9411521572524237|2.60967950675505|2.7421759322272248|4.382996912300442|4.646774316632562|5.225153658563424|5.768301917477015|6.637079139313073|7.270482144410326| > As you see the output is practically the replicated y-input. > At this point this funtionality is critical for us but I could not find any other suitable java-implementation. Help. Maybe this strange behaviour gives someone a clue? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.