concerning the use of correlation in vba. What are my options when i want to calculate a correlation within vba. The variables are all still within vba.
Who knows what formula's i could use to keep everything within vba.
If you don't understand my question please ask so i can try to make it more clear.
I have code to create a correlation matrix (NxN, where N is the number of columns). This is done by selecting an area that is NxN, entering the function and range, then hitting ctrl +shift + enter (array formula).
However, I want to convert this to accept VBA arrays, rather than a data range, and give the output in form of an array as well.
VB: Function CorrmatK(dataRange As Object) As Variant On Error Goto 20 Dim r As Integer, n As Integer, rr As Integer, i As Integer, j As Integer, k As Integer, doit As Integer Dim x() As Variant, mc() As Double, ss() As Double, m() As Double, ob As Object r = dataRange.Rows.Count n = dataRange.Columns.Count
I am in the unfortunate position of having to run about 900 correlations with Excel as my only option. Normally this would be fine, but in this case, I need the Pearson's test of significance. The only way I know how to obtain this in Excel is through using a regression, which is incredibly time-consuming. Does anyone have a suggestion how to make the best use of time?
I am using excel to do a monte carlo analysis of a process. Until now, all my distributions have been uncorrelated, but from now I would like to produce distributions with a given correlation. This is a fairly easy process for normal distribution, but in this case one of the distributions is Weibull and the other lognormal. I don't have a stats background, so how to implement this. Producing the two distributions is no problem, but I would now like to be able to alter them or the original formulae so they are correlated properly. If it would greatly simplify the process, the lognormal distribution could be replaced by a normal, but not the weibull.
I wasn't able to attach the file because it was too big, but you can download it from here www.easygcc.com/correl.rar. On the sheet called " Correlation" there is matrix, I am baiscally trying to fill in the correlation formula into every cell so the matrix is filled out. The data for the correlation calculation comes from the sheet called "Tech Data". I have filled in the correlation formula into a few of the cells as an example, but I don't want to continue doing this manually but rather have a macro do it for me. Otherwise this will take for ever. My macro is also a part of the file, if you would liek to look at it and maybe fix what I already have.
I have a table that I add rows to via a macro. I am trying to add correlation matrices that find the last row of the table, and include a certain number of rows above that to create a rolling correlation. For example, if I want the 2 week correlation, I would like the last 10 rows of data, but if I add another row, this formula should move down to incorporate the new row and deselect the now 11th day preceding. I do this manually but it is very time consuming.
I am now analysing the ordered correlations of products in a warehouse.For example, I have 16 products (product 1 to product 16) in my warehouse. During last month, there were totally 391 orders (order 1 to order 391). If a product is requested in a ordered, an "X" will be marked as per attached sheet.
Now my goal is to figure out which pair (or even triple) of products are ordered/requested at the same time (or in the same order) for the last month. I intend to use the analasys result to move the more ordered pair/triple products to stay near to each other at the warehouse so it will save the time for picking.
I'm trying to Pearson Ranks correlation table. This is the formula I'm using:
=PEARSON(Ranks!$B$3:$B$230,Ranks!B$3:B$230)
This is placed in cell B3. When I copy the formula over to DT3 the formula correctly adjusts the B in the second part of the formula all the way to DT and still references the values in the B column.
But I want to now copy this down to C4, D5, E6 and then over to DT for each so that it correctly makes the correlation table.
I wonder if you think it can be possible to constraint the RAND function so that it gives off its result commensurate with the result of another RAND function with certain probability N? For example,
Say there are two random functions and the first generates 0,5667 the correlation is at 0,5 so there is a 50% probability that the second random function will generate the result very close to it, say, 0,6012….Do you think the second random function can be tweaked so that it performs in this manner….when there is a 100% correlation – the results of both random functions will agree…when it is 80% it will be very close…..do you think this can be done with NORMINV?
see attached pivot table... I believe that there is a statistical relationship between column B & C (together, i.e. their combined effect) upon column D. i.e. (B & C) - have some relationship to effect D.
(1) What formula would I use to measure this correlation?
I have a list with hundreds of customers. Each customer has two measures (i won't bore you with how they are calculated)
1) % Coverage by Salesman 2) % Of Opportunity Won
What tips and tricks can you give me to take my analysis to the next level? The example is a very limited sample and the data was made up using a formula so correlated very well, i've chucked in a couple of anamlous results to make it a bit more realistic.
One of the main things i would like to see is a correlation "score". I suppose if the two series correlated perfectly then the score would be 100%. The less they correlate, then the lower this score gets....
In business terms, if i can run this rule over thousands of customers and get a good correlation - then it becomes a conversation with the salesman to show them that doing those pesky, boring coverage calls has a measurable impact on sales...and here is the number to prove it...
I have a product list going down column A, Avg Sale Price List going down Column B, a Margin % List going down Column C, and a Correlation List going down Column D. Here is a small sample of my data.
I am looking for the best way ( or choice of ways) to display the correlation between 2 lists of results.
I have a column of failure percentage rates for engineers that I want to compare against a second column of their compliance rate with a process. There are two levels also. The first set shows the good performers and their compliance, the second showing the poor performers.
My goal is to see whether their compliance with the process has any bearing on their failure rates. The full lists contain data on approximately 400 engineers in each category
(if the the numbers below are not in a proper format, I tried to download the excel converter thingy but the link failed)
I have the monthly data stores column by column, e.g. Column B for Jan 07, Col C for Feb 07 etcetc, so every month I have a new column added to the end then I have some statistical analysis table which calculates such as annual return, standard deviation etcetc
How can I make a button which I can click then it can update to replace the formular with the latest column? for example, =CORREL(B2:B10, G2:G10), col B contains Feb 07 data and G contains June 07, let's say I add another column for July 07 which will be column H and I would like by clicking the button then all formula with col G will be replaced by col H?
I am facing a problem with WorksheetFunction.Correl I got information, that matching class properties of Worksheetfunction is impossible. This is my first experience with macro's and I hardly know how to deal with this problem.I got some excel file from my friend and tried to do this in the same way. Macro was supposed to calculate the Pearson's coefficient of correlation for orders from 1 to 100 of autocorrelation in order to calculate Q Box-Pierce statistic.Data is prices of stocks for some bank and correlation coefficient is calculated for simple returns on stocks.
I have an array of data (A,B,C,D,...,H) and a correlation/relationship data table (asymmetric data). Out of the array data, i need to make a combination of 3 data out of 8 AND input the relationship data according to the combination.
I found a problem to take the reference from correlation data.
to help you understand my issue, i attached the file with this posting.
I am calculating multiple Correlations for long lists of data. I want the correlation based on the value in a given column. In the below example I would like a different correlation for each value in colA and the correlation will be between colC and colD. ColB lists the different people whose data are used for the correlations. In actuality there are 30 or more people for each test. In every case ColC is the same for a given value of ColB (although I doubt that matters). The number of people taking each test varies. I would like a correlation of ColC an ColD for each value of ColA.
Simplified version of my data
ColA ColB ColC ColD Test1 Fred .75 1 Test1 Max .80 0 Test1 Sara .90 1 Test2 Fred .75 1 Test2 Max .80 1 Test2 Sara .90 0 .... Test100 Fred .75 1 Test100 Max .80 1 Test100 Sara .90 1
I have a workbook entitled "Correlation Matrix". I download data from my data provider and then update it in excel each night. I have several worksheets in the workbook, one called "MCC". Today I made a copy of MCC, named MCC2, to experiment, then deleted it. Now, after I update my data in Excel it gives me the msg, "We can't open the source file '(Path)[Correlation Matrix.xlsx]MCC2'".
The data updates fine and all values are correct in the worksheets. I've tried closing and reopening the file, closing and reopening excel, but I'm still getting this msg when updating the data.
i have 2 columns of number of cars using various roads, taken in the last 30 days. A macro has processed the data in these ranges and changed the outlier values to "Bad" so the formula ignores them.
However in the columns A and C , there are dates that the counts were taken on.
sometimes these dates aren't the same (no data available on christmas in some areas, boxing day in others etc. Obviously this destroys the correlation, as it puts the days out of synchronisation and the correlation falls apart.
Is there any way i can adapt the formula for it to check the dates are the same before correlating? It'd almost be like a vlookup, find the date, if match, add to calculation, if not then go to the next date. i'm happy for it to only correlate 26 of the 30 days if there are that many conflicts.
example for last 6 days performed on the 28th of december (looking for 6 calendar days up to but not including 28th dec.
22/12/2012 9 22/12/2012 Bad 23/12/2012 10 23/12/2012 22 24/12/2012 3 24/12/2012 21 25/12/2012 7 26/12/2012 18 26/12/2012 8 27/12/2012 15 27/12/2012 15 These 2 cells would be blank and this column would only contain values for 5 days.it could only correlate the 3 days of 23, 24 and 27.
Given that i'm going to be correlating this information with a number of locations, each with different reporting dates, filtering the dates before correlating and deleting unmatched dates is not a great option, but I will consider it if there is no other way.
I trying to populate cells with a correlation function using VBA, I have set up dynamic references/arguments for the fuction to take on however I just can't get it to work. Currently instead of populating the formula into the cell, it's just populates it as a string based on what's entered below =correl(Ystart &":"& yend, xstart&'":"'& xend").
FYI - The correl function takes on two ranges,. I've predefined these below.
I have a very large spreadsheet, a few columns and rows I attach..
in col a we have the time of the event..in column b i have a numerical rank for the importance of factor 1,in column c i have similiar for factor 2.
What I want is the correlation for each event between col b and col c using the rsq function..i have no problem using this function..but i need the result for each event produced in col d in this same sheet and printed on each row and since I have thousand of rows i need a formula I can fill down
Column A is the COB Date Column B through N are various stock data. I would like to calculate the trend of correlations over a 4 year period. I can't seem to figure out how to manipulate the data analysis tool pak to do this.
So I have been playing around with the tab colors on my workbook and am trying to figure out the correlation between color brightness and the auto change from black text to white text. I've noticed that if the Green color value is higher, excel is more likely to use the black text. If Blue is high, white. Green takes precedence over Blue and Red is just kind of in its own world.how excel calculates this?