2011-07-17 85 views
1

我在Excel中有一個表格。第一列是自變量的值。其他列是因變量的數據集。我想將每個數據集合到langmuir方程中:y = Ax /(1 + Bx)。有沒有辦法編寫一個函數來爲每列找到A和B?excel中的自定義迴歸分析

+0

我認爲它更有可能[stats.se]比[so] question –

+1

我知道如何在數學上做到這一點。它成爲一個編程問題,因爲我有超過一百套數據,我想快速,方便地適應它們。 – Brian

回答

2

您可以使用Solver插件在Excel中執行此操作。您需要將以下內容添加到您的工作表:

  1. 兩個單元格,其中包含用於迴歸的變化的A和B係數;
  2. 長度等於您的因變量數據的列。在列中填寫此公式:=$F$2*A2/(1+$F$3*A2),其中F2和F3是您的A和B係數,A2是第一個獨立變量值。
  3. 另一個包含迴歸殘差的單元格。我使用了RMSE和這個數組公式:{=SQRT(AVERAGE((B2:B28-C2:C28)^2))}(按Ctrl + Shift + Enter輸入公式)。這裏B2:B28是你擬合的因變量數據,而C2:C28是迴歸函數的數據。

現在您已設置爲使用求解器來擬合您的迴歸函數。設置求解器以在改變A和B係數時最小化殘差。

您應該能夠從這裏編程方式處理所有的數據集上進行類似如下的過程:

  1. 確保迴歸列匹配您的數據的長度。
  2. 更改殘差公式以匹配當前感興趣的數據。
  3. 設置A和B的種子值。
  4. 運行求解器。
  5. 在其他地方記錄係數值和殘差。
  6. 重複。