Bug in MSE output of General LS Linear Fit.vi?

Hi: In the General LS Linear Fit.vi, output MSE. Help for the vi describes the formula as (I attached a picture, but I'm not sure if it will appear in the post), but it looks like something is missing, because if I use the formula to my input values, I get a match only if all input Standard Deviations are 1's. As Standard Deviations increase, this formula gives me smaller MSE, higher MSE if Standard Deviations decrease; but I noticed MSE of the vi doesn't change so much, and every time all input Standard Deviations have the same value (no matter how large or small they are), MSE returns to the same original value.
According to the formula, MSE is inverse proportional to the square of Standard Deviations, no way to return to original value if they're changed. Is this formula correct or shuld it be different?
Attachments:
untitled6.jpg ‏5 KB

Hi, Karunya:
     I actually rechecked my stuff, and I found that the formula that Mehak_D showed me in
MSE formula.JPG
is correct and really works. and the one I found in one of the LV 5 help files were wrong
untitled6.jpg
I'm attaching 2 pictures showing the LV5 Help file where I found it, as well as the Index where I clicked to open it. Just let me know if the formula were corrected in the Help file for later LV versions.
     Thank you very much.
Attachments:
General LS Linear Fit Theory.jpg ‏96 KB
Help Index.jpg ‏34 KB

Similar Messages

  • Bug in coefficien​ts output of General LS Linear Fit LabView 8.5.1?

    Hi
    I compiled my application from LabView 7.1.1 to LabView 8.5.1. This application use the "General LS Linear Fit.vi". I noticed that there differences in the calculation of the coefficients.
    There are attached two files, one comiled in LV7.1.1 and the other with LV 8.5.1, with two different results. Please make sure you open this files with the correct version.
    If I change in "General LS Linear Fit.vi" the link to the lvanlys.dll of the LV7.1.1 version, the calculations are correct.
    Any help would be appreciated, thanks.
    Fil

    Hi André
    I think the results in the 8.5 Version are completely wrong. If the result would deviate a few percent one could say that the new version could be more exact. But not like that.
    Fil
    Attachments:
    calc_71.JPG ‏154 KB
    calc_85.JPG ‏184 KB

  • General LS Linear Fit - Number of Equations

    Hi Folks,
    I'm using the "General LS Liner Fit" VI to interpolate Measurement Data depending on 2 Variables. To do this i would like to use an poly-equation of the form:
    z = A + Bx + Cy + Dxy + Exyy ... Kxxxyyy ... etc.
    This sems to work fine, but im not able to generate more than ~ 100 Parameters. If i try to do so the VI doesen't give me any results.
    I have ~ 2000 Data Points so i create a H-matrix of 2000 x 100 Values as Input for the VI. Can this be too much? For an Matrix of 2000 x 81 Values the System still works an takes ~2 Seconds to evaluate a result.
    If anyone knows this problem, knows a better solution or can tell me what im doing wrong please help me.
    Greetings
    Hans

    What I am seeing is that all of the algorithms (SVD, Givens, Givens2, etc.) work up to 90 coefficients (although SVD sometimes reports error -20003 in my application), but fail starting at 91 coefficients. I need something more like 600+ coefficients.
    Has anyone run across an alternative LS Fit VI? I found a customer-sumitted alternative called "General_LS_Linear_Fit+.vi", but it still uses the same NI DLL function.
    I wouldn't mind writing one myself if someone could point me to a write-up of any of the algorithms.
    Thanks,
    Travis

  • Bug sur la fonction "Linear Fit" entre LW 8.0 et LW 2009

    Bonjour,
    nous rencontrons des différences sur le résultat de la fonction LINEAR FIT.vi (avec méthode bisquare)
    Le même programme, un compilé sous LabVIEW 8.0 et l'autre sous LabVIEW 2009, donne des résultats différents. 
    Je ne trouve pas les corrections qui ont pu être apportées sur cette fonction entre les différentes versions de LabVIEW.
    Comment être certain que la fonction donne de bons résultats ? Celle sous LabVIEW 8.0 est-elle correcte ?
    Pour info, le résultat sous Lw 2014 est le même que sous LabVIEW 2009.
    Merci

    Sorry for the delay.
    I added two sreenshots with the same function and the same datas: the first example runs on LW8.0 and the 2nd runs on LW2014.
    We encounter differences on results (slope, interception ... etc)
    Thank you for your help 
    Attachments:
    RegLin_8.0.JPG ‏132 KB
    RegLin_2014.jpg ‏144 KB

  • Linear Fit Weight Input Modifying Control Input - Impossible? Bug?

    I was having some strange data array issues with a program I was debugging and ended up distilling the issue to this.  When "Linear Fit" is called twice it modifies the weight input array passed to it.  Sounds crazy; but its true.  I've been able reproduce this with a simple vi that I've attached.
    The terrible thing is that if the weight array input is a control; its values will be modifed after calling Linear Fit.  And if you've branched that wire and used its values for some other part of your program; the values on that wire will also change.
    I'm using LV 8.5.1
    I'd appreciate it if someone could verify this is happening on their machine.  I'm too delirious from beating my head against the wall after tracking this down.
    Milan
    Attachments:
    Linear Fit Test.vi ‏19 KB
    Linear Fit Test capture.png ‏79 KB

    You can also patch the problem by inserting an "always copy" primitive right before the linear fit. See attached.
    Message Edited by altenbach on 12-15-2008 01:52 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    LinFitpatch.png ‏11 KB
    Linear_Fit_TestMOD.vi ‏20 KB

  • How to use linear fit

    Anyone here to help me how to use the linear fir vi?
    Is this vi capable of analyzing a line with a negative slope?
    What shold i input in this vi? I tried connecting my x and y arrays in this vi but still outputs nothing. Is there a bug on this vi?
    Is there a way to fit a line in my data points like what excel does?
    Thanks again for helping me numerous times.
    Brein
    Stuck again

    Brein wrote:
    This is my vi. I am using labview 7.0 and vision 7.0. This project is about finding a relationship between concentration of a certain solution and its color value using rgb space. I am already able to plot the relation ship found in sequence structure 3 of 3(assuming the first sequence is 0 of 3). How to put a linear fit in my data points?
    So you need to do a global fit to three datasets (R, G, & B). Since you seem to deal with a greyscale image, it is probably sufficient to fit only a single channel. What function do you use in excel?
    Sorry, I don't have the vision module. Can you strip down your VI as follows:
    create indicators on the three orange arrays in frame #2. (right-click wires, create indicator)
    Run the VI so the indicators contain data.
    Turn the indicators into diagram constants (right-click..change to constants). Wires will be broken, leave them broken!
    Save the VI under a new name and attach it again.
    I am quite busy today, maybe I can look at it tonight if nobody else gives a solution.
    LabVIEW Champion . Do more with less code and in less time .

  • Confidence bounds for non-linear fit

    Is it possible to get the confidence bounds for the fitted coeficients when using non-linear fits?

    Hello Dahl
    Do you mean like Upper Bound and Lower Bound output terminals of NI_Gmath.lvlib::Nonlineat Curve fir intervals.vi?
    Message Edited by Eirikur on 01-09-2008 01:25 PM
    Regards,
    Eirikur Runarsson
    Platinum Applications Engineer
    NI Denmark

  • 2D-Linear Fit needed

    Hello,
    I have to find the best straight line in a x-y measurement array.
    The "Linear Fit.vi" uses a linear regression method normal to the x-Axes which leads to bad results if the sollution would be near a vertical straight line.
    e.g.: with a Pair of measurement points with:
    1.: x=0 Y=+1
    2.: x=0 Y=-1
    I would like to get a straigth vertical line (x=0, k=inf or something which represents this), the Linear Fit.vi's result is NaN
    Does someone know where to find a vi for this?
    Thank you for any comments.
     Greetings
    Mario Hirth

    Mario Hirth wrote:
    Since I use the residuum of the linear fitting to evaluate the measurement (which should represent a straight line, but I dont know in which direction), I have to be mathematically correct.
    I also had a solution by iteration with: "find slope" => "turn measurement data into x-axis according to slope" => start again with finding slope => do this about 5 times etc...
    in principle this works, but since I have to make a iteration with the result of this output (which is a different story), I have a iterationtask  inside an iteration task.
    It works, but its neither a beatiful sollution nor a quick (means CPU-intensive).
    Mathematically, this makes no sense to me. Can you explain what it is supposed to achieve?
    What is the error in x and y for each data point?
    LabVIEW Champion . Do more with less code and in less time .

  • Linear fit without professional version. Workarounds anyone?

    Hey, I'm trying to do some analysis and need to find the slope of a curve.  The drivers I have are trying to access the linear fit function but I don't have the pro version so I can't use it.  Anyone know of a free workaround VI possibly or any other solution?  
    Thanks

    Hi acolbourn
    The linear fit just implements the least squares algorithm, this is pretty simple. 
    You can read how this algorithm works here:
    http://en.wikipedia.org/wiki/Least_squares
    What parameters does the driver call the function with just X and Y as input, and best fit as output?
    Regards, 
    Anders Rohde

  • Linear fit with chart buffer

    I want to be able to graph both the data and the linear fit of the data stored in the chart buffer in real time.  I can't seem to figure out how to split the x and y arrays from the output on the chart buffer.  Any help would be appreciated.  I have attached a sample program.
    Solved!
    Go to Solution.
    Attachments:
    Graph Test.vi ‏10 KB

    Heres one thing you could do:
    Have your original data as two 1D arrays.
    One is X values, and one is Y values.
    Cluster those values together and that will be one data set.
    Then, use the 'linear fit' function, and input your x and y arrays.
    Use this new generated array of y-values and bundle them with the original array of x values.
    If you build an array of the two data sets, then send them to an XY graph you should be all set.
    Good luck :-)
    Sorry I cant open your VI, Im in 8.2, not 8.6 :-(
    Message Edited by Cory K on 02-16-2009 04:40 PM
    Cory K
    Attachments:
    Linear Fit.PNG ‏5 KB

  • Linear Fits

    I have some data that should follow a straight line, but there are spikes in
    it. Rather than manually editing the data to remove the spikes, which is
    tedious and time consuming, I wanted a function that would intelligently
    decide which datapoints were bad and zap them.
    Initially I thought this would be trivial; do the fit, calculate residuals
    and zap all data lying further than one standard deviation from the line.
    However, the spikes are sufficiently large that they can skew the linear
    fit, and hence the determination of which points to drop. Doing a threshold
    zap on the raw data isn't adequate since the values of the data aren't
    sufficiently consistent between sets.
    I tried differentiating the residuals- and in another attempt the straight
    line data- reasoning that the differential should be constant everywhere
    other than around the spike, and a simple thresholding would then tell me
    which data to kill. Again no success; the data either side of the spike are
    far from the constant line, the data of the spike itself are not.
    The approach I've settled with is to do the linear fit on all the data, get
    the MSE, zap the first datapoint and get the MSE, replace the first and zap
    the second and so on until I have a table showing the effect of removing
    each individual datapoint on the overall fit quality. I then find the most
    significant datapoint, see if the effect of removing that gives a percentage
    decrease in the MSE better than a user defined threshold, and then repeat
    the process until either there are no more significant gains to be made or a
    limit for the percentage of data that can be dropped is reached. To avoid
    zapping down to two datapoints, I've chosen 50% as the maximum number of
    points to lose and 50% as the increase in fit quality required to justify
    the loss of a data point.
    This works well, but it means that if there are n datapoints, n linear fits
    must be carried out for each data point dropped. Execution time is therefore
    going to increase exponentially with the data size, which always worries me
    slightly.
    One thing I've already thought of is the possibility of zapping more than
    one point per iteration; however the fit changes so much when a single
    outlier is removed that I suspect valid data may be lost this way.
    Does anyone have any other suggestions to zap erroneous data without zapping
    good data? This technique is fine for small datasets, and I guess the
    threshold-based zapping is fine for large datasets, where the loss of a few
    points changes the fit only very little, but if I ever need to do this on
    data in the intermediate region I might have to start playing about again.
    Craig Graham
    Physicist/Labview Programmer
    Lancaster University, UK

    I have a question about your approach:
    Does "ZAP" mean that you are going to completely "delete" the outlier point or to "modify" it? Be advise that if you completely delete an outlier, your resulting data will be shifted to the right from that point, and thus your resulting data will no longer resemble a straight line.
    www.vartortech.com

  • How should I set up my VI so that I can use the linear fit coefficient data analysis program, when my values are coming from while loops within a sequence structure?

    I'm attempting to create a calibration program, using the printer port, and a Vernier Serial Box by modifying a calibration program designed for the serial box.
    There are six calibration points, and to collect them, I have it controlled by while loops so that the numbers are taken when a button is pushed, and this is inside a sequence structure so that I can get the six different points. I feed these numbers into two different arrays (for x and y values) and then try to use the linear coefficient analysis on these points, but the values for the slope and intercepts it returns are not correc
    t.
    If I cut out the array and coefficient analysis, and feed the same numbers in directly without the while loop and sequence structures, it produces the proper values... I don't know why the numbers it is producing are different, and I'd really like to know.
    Thanks,
    Karinne.

    I would use a data manager sub-vi that would be called by each from of the sequence structure that produced a data point. The data manager sub-vi could auto append new items or could place items in a specific entry of an array. Later on when you want to calculate the linear fit, call the sub-vi to return the array of values.
    Stu

  • Linear Fit using Bisquare method fails on certain data sets.

    I noticed some behavior that I didn't understand, so I thought I'd post it.  I'm using Linear Fit.vi in LabVIEW 8.2 to calculate a slope and offset.  This VI has a method input that accepts an enum.  When I select the "Bisquare" method on some data sets I get error -20104 (Analysis:  Input parameters have at least one NaN element).  I think that if some data sets don't work with certain algorithms, this should be mentioned in the help.  This took quite some time to track down.
    Here is an example of a data set that doesn't work with Linear Fit.
    X: Y:
    0.40336656 -4.04062388
    0.20171238 -2.01997989
    0.00072204 -0.00951483
    -0.20006598 1.99094268
    -0.39979904 3.99578023

    I can reproduce the problem.
    Interestingly, it works fine if you increase the tolerance input a little bit, e.g. to 0.0004 (from the default 0.0001). It also starts working if you change the data a little bit.
    Curious that it works on the Mac. There must be something pathalogical with this exact data set. Maybe it cause an unhandled division by zero in one of the iterations.
    LabVIEW Champion . Do more with less code and in less time .

  • Linear fit between two cursors from a signal from a NI-instruments via DAQ-Assistant

    Hi ! 
    I'm currently having som problem with my labview code. I'm trying to make regression on a specific part of my graph. The graph consist of a signal gathered from a NI cDAQ-9178. Currently I can get the live data in a graph (Raw Signal) and then  "zoom in" to the part of the graph that im intrested in by two cursors and then display the results in a new graph (Adjusted Signal). Now a want to make regresion in the new graph. How can i do this the best way ? 
    To be noted I'm a beginner of labview so my code maybe a bit off.
    Best regards Maurlind
    Solved!
    Go to Solution.
    Attachments:
    Rawsignal test.vi ‏245 KB
    rawsignal test.png ‏64 KB

    Hi maurlind,
    I got it, the function that derived the linear fit couldn't handle that large numbers on the x-axis. I edited the VI so that the large number is suctracted for the fit, i.e. the array will now begin at zero time for the fit. It will not affect your plots though, only the algorithm .
    Try it now with the files I provided. The file "pm_mod2_Rawsignal test.vi" should be used with "test3.lvm" (your data). The file "pm_mod3_Rawsignal test.vi" is the same as "pm_mod2_Rawsignal test.vi", but it is arranged to work with the simulated data. The file "test3.lvm" is your data, but the file is slightly edited to work on my system.
    Edit "pm_mod3_Rawsignal test.vi" to fit with your acquired signal as you did with the first file you got from me.
    Attachments:
    1412794.zip ‏483 KB

  • Linear Fit not run with NaN

    Hi guys.
    I am trying use Linear Fit to made the best fit of temperature acquisition, but during the acquisition i acquire some NaN data.
    I can plot the temperature graph, but i cant plot or receivo soma data from Linear Fit.
    My code is below, in LV2010.
    Can anyone help me?
    Icaro Kossmann
    LabVIEW 8.6 Newbie.
    Brazil
    Solved!
    Go to Solution.
    Attachments:
    novo fit 16-04.vi ‏19 KB

    Follow my VI.
    Icaro Kossmann
    LabVIEW 8.6 Newbie.
    Brazil
    Attachments:
    Linear_fit_Teste,_array_constante_15-04-2014[1].vi ‏16 KB

Maybe you are looking for

  • IPod Touch doesn't connect to iTunes after Update to iTunes 8.2.1

    After installing an update to iTunes my iPod Touch 8GB (w/ 3.0 upgrade) is no longer recognized. My other iPod Nano is recognized. I've tried everything - completely uninstalling iTunes, including manually removing iTunes files, but nothing work. Bas

  • IPod not recognized in iTunes or MAC

    Sometimes I will get the file icon with an exclamation point and sometimes my iPod will just freeze. It will not show up on my desktop or in iTunes. I have tried to reset my iPod but my computer, once connected to my iPod w/ a USB, will not even reco

  • Apple TV no longer responds to Apple remote(s).

    My Apple TV suddenly stopped responding to the remote. I tested this with 3 different Apple remotes I have, and none of them work. Pressing any button on the remote turns the Apple TV status light to yellow, but that's all I can get it to do. I confi

  • Pls send if u have any faq's in webdynpro

    hi every body pls send any faq's in webdynpro.? its urgent.

  • 6720 Classic TV-Out option

    Hello All The 6720 is listed on the specs page of Nokia.com as having the TV-Out facillity.  The CA75u TV Out cable is a recommended option.  This is one of the reasons I chose it as a gift. Can anybody with a 6720 tell me if they have used this func