Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Hallo,
Ich erhalte die Fehlermeldung „Speicher konnte nicht zugewiesen werden“, während ich versuche, REML (Random Effects) durchzuführen. Könnten Sie mir bitte helfen herauszufinden, was falsch ist?
- Mein Datensatz ist 1,7 MB groß und umfasst 27.000 Zeilen und 7 Spalten.
- Mein Computer ist Win 10, 12 GB RAM und 88 GB freier Festplattenspeicher.
- Mein Modell ist auch ziemlich einfach (nur drei Variablen).
- Ich verwende JMP 13.2.1
Ich hatte erwartet, dass diese zusätzliche Rechenkapazität für diese relativ kleine Aufgabe mehr als ausreichen würde. Ich denke, dass mit meinen JMP-Einstellungen etwas nicht stimmt.
Könnten Sie mir bitte helfen, das herauszufinden?
Vielen Dank im Voraus!
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Danke schön. Das ist für mich völlig neu. Allerdings habe ich die Rechnung noch einmal überprüft und im Kleingedruckten steht tatsächlich 32-Bit. Es war mein Fehler, dass ich das nicht früher gesehen habe.
Ich denke, damit ist das Thema für mich erledigt. Ich schätze die Hilfe, die Sie uns großzügig angeboten haben, aufrichtig.Allein das Wissen, dass es sich nicht um einen Fehler in der Methodik handelte, macht einen großen Unterschied für meine Moral.
Auch wenn ich JMP bei meiner Version nicht mehr für den Gashebel verwenden kann, bin ich für Sie alle stets zutiefst dankbar.
Danke schön.
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Sie haben die Einzelplatzlizenzversion von JMP, die nur 32-Bit ist. Unsere Jahreslizenzversion ist die einzige Version, die in 64-Bit verfügbar ist.
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Sie sollten sich wahrscheinlich an den technischen Support von JMP wenden. Bei der Installation von JMP sollte automatisch die „Bitzahl“ Ihres Computers überprüft und die richtige Version installiert werden. Ist Ihre Kopie von Windows 10 64-Bit? Möglicherweise wird dies überprüft, um die „Bitzahl“ des zu installierenden JMP zu bestimmen.
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.
@Dan_Obermiller
Ja. Du hast es geschafft, danke.JMP wurde als 32-Bit installiert.
Ich habe versucht, es zu deinstallieren/neu zu installieren. Dennoch gibt es sich immer noch als 32-Bit aus, ohne die Möglichkeit, 64-Bit zu wählen. (im Screenshot unten ausgegraut) . Für Vorschläge wäre ich sehr dankbar.

------
@ich h
Ich kann Ihnen nicht genug danken. Zu Ihrem Punkt habe ich den Task-Manager auf einem zweiten Bildschirm geöffnet und ihn beim Ausführen des Modells beobachtet. Es wurden nicht einmal 50 % der Speicher- oder CPU-Auslastung erfasst. Trotzdem habe ich mir die Erweiterungsoptionen auf Amazon angesehen und mich vom Gehaltsscheck verabschiedet, bevor wir wussten, dass es das 32-Bit-Ding ist 
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Hoffentlich ist 32 Bit das Problem, aber seltsame Dinge scheinen zu passieren, wenn Sie sich der Speichergrenze Ihres Computers nähern. Ich habe einmal Speicher zu einem Computer hinzugefügt, der eine Analyse nicht abschließen konnte, und nach dem Upgrade wurde die Analyse mit weniger Speicher als ursprünglich installiert abgeschlossen.Möglicherweise verbraucht JMP beim Einrichten der Analyse momentan mehr als 8 GB.
Um zu bestätigen, dass Ihnen tatsächlich der Arbeitsspeicher ausgeht, können Sie versuchen, die Anzahl der Zeilen in der Datentabelle schrittweise zu erhöhen und im Windows Task-Manager zu beobachten, wie nahe Sie der physischen Speicherauslastung von 100 % kommen.
Wenn Ihnen der Speicher fehlt, haben Sie nicht ganz Pech. Sie können Ihre Analyse auch anhand von Teilmengen der größeren Tabelle durchführen und dann die Ergebnisse mitteln.Jede Iteration könnte etwa so aussehen:
dt = current data table();
//Make a list of store numbers
FilterStoreTabluate = dt << Tabulate(
Add Table( Row Table( Grouping Columns( :Store ) ) )
);
//Get store numbers as data table, close tablate
dtFilterStore = FilterStoreTabluate << Make Into Data Table;
FilterStoreTabluate << Close Window();
//Make a column with random numbers
dtFilterStore << New Column(
"Rank",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Uniform() )
);
//Select 2500 stores
dtFilterStore << New Column(
"Keep",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( Col Rank( :Rank ) < 2500 ),
Set Selected
);
//Join the list to your original data table
dtSubsetWhole = dt << Join(
With( dtFilterStore ),
Select(
:Store,
:Time,
:Geo,
:Type of Management,
:Base Cost,
:Cost
),
SelectWith( :Keep ),
By Matching Columns( :Store = :Store ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 )
);
//close the list of stores
dtFilterStore << Close Window();
//Select only stores selected to 'keep'
dtSubsetFilter = dtSubsetWhole << Data Filter(
Location( {938, 189} ),
Add Filter( columns( :Keep ), Where( :Keep == 1 ) )
);
//Make data table with only stores you want to keep. Simply excluding where Keep = 0 might work as well.
dtSubset = dtSubsetFilter << Show Subset;
//Run the fit modelBetreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Sie haben die Spezifikationen Ihrer Maschine angegeben, verwenden aber 64-Bit-JMP? Gelegentlich verwenden Benutzer möglicherweise 32-Bit-JMP. Wenn Sie nur 32-Bit-Software verwenden, kann die Speichermenge, auf die Ihr Computer zugreifen kann, eingeschränkt sein, unabhängig davon, wie viel installiert ist.
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Ja. Das ist ganz ähnlich. Ich muss sagen, ich bin beeindruckt, wie man es durch ein Skript nachbilden kann. Respekt!
Ich habe das Modell ausgeführt und erhalte erneut die gleiche Fehlermeldung:

Vor Beginn der Analyse verfügte mein Computer über ca. 8 GB freien RAM. Wenn das gleiche Experiment bei Ihnen nur 6 GB verbraucht hat, warum gibt JMP dann hier eine solche Fehlermeldung zurück?Gibt es eine andere Speichermessung, die ich im Auge behalten sollte?
Vielen Dank!
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Sie haben eine Variable mehr als ich, aber ich habe trotzdem eine meiner Meinung nach ähnliche Analyse in 12 Minuten mit etwas mehr als 6 GB Speicher abgeschlossen.Sieht dieser Tisch jetzt wie Ihrer aus?
Random Reset(123);
//Make some data
dt = New Table( "RandomEffect Example",
Add Rows( 27000 ), //Set the number of rows here
New Column(
"Store",
Character,
"Nominal",
Format( "Best", 12 ),
Formula( Char( Sequence( 1, 5500, 1, 5 ) ) )
),
New Column(
"Time",
Numeric,
"Ordinal",
Format( "Best", 12 ),
Formula( Sequence( 1, 5, 1, 1 ) )
),
New Column(
"Geo",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( If( Random Normal() > 0, 1, 2 ) )
),
New Column(
"Type of Management",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( If( Random Normal() > 0, 1, 2 ) )
),
New Column(
"Base Cost",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1 | :Store != Lag( :Store, 1 ),
Round( Random Uniform( 1000, 2000 ), 0 ),
Lag( :Base Cost, 1 )
)
)
),
New Column(
"Cost",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
Round(
:Base Cost + If( :Type of Management == 1,
50 + 50 * :Time,
-50 * :Time
) + If( :Geo == 1,
500 + 10 * :Time,
-10 * :Time
) + Random Normal( 0, 200 )
)
)
)
);Wenn ja, sollte dies dieselbe Analyse sein, die Sie durchgeführt haben:
//Analysis
dt << Fit Model(
Y( :Cost ),
Effects( :Time, :Type of Management, :Time * :Type of Management ),
Random Effects( :Store[:Geo] ),
NoBounds( 1 ),
Personality( "Standard Least Squares" ),
Method( "REML" ),
Emphasis( "Minimal Report" ),
Run(
:Cost << {Summary of Fit( 1 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
Plot Effect Leverage( 0 )}
)
);Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Vielen Dank! Das Skript läuft hier recht flüssig. Ich bin beeindruckt!
Erlauben Sie mir jedoch, darauf hinzuweisen, dass meine Daten 5400 Geschäfte mit jeweils 5 Beobachtungen umfassen, das sind 27.000 Zeilen. Ich füge ein Beispiel dafür bei, wie es aussieht (erste Beobachtungen).In jedem Zeitraum achten wir auf die Art der Verwaltung, die das Geschäft hatte.Jetzt möchte ich die Kosten als Antwortvariable und die Art des Managements als Prädiktor über die fünf Zeiträume modellieren. Wie oben erwähnt, haben wir 5400 dieser Geschäfte, also 27.000 obs. Nach meinem Verständnis handelt es sich hierbei um wiederholte Maßnahmen.
So mache ich es über die GUI.

Und das ist die Fehlermeldung, die angezeigt wird, wenn die vollständigen Daten verwendet werden:

Ich danke Ihnen nochmals für Ihre Zeit und Hilfe.
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Erstellt das folgende Skript Ihre Analyse neu, außer mit weniger Geschäften?Unter Windows verbrauchte JMP 5,6 GB Speicher und benötigte 6 Minuten und 11 Sekunden, um auf einem Prozessor 60.000 Zeilen (600 Speicher) zu analysieren.
| Reihen | Verbrauchter Speicher (MB) |
| 10.000 | 650 |
| 20.000 | 1.272 |
| 30.000 | 2.294 |
| 40.000 | 3.775 |
| 50.000 | 5.592 |
| 60.000 | 6.662 |
Skript:
Random Reset(123);
//Make some data
dt = New Table( "RandomEffect Example",
Add Rows( 5400 ), //Set the number of rows here
New Column(
"Store",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( Sequence( 1, 5500, 1, 10 ) )
),
New Column(
"Type",
Numeric,
"Nominal",
Format( "Best", 12 ),
Formula( Sequence( 0, 1, 1, 5 ) )
),
New Column(
"Time",
Numeric,
"Ordinal",
Format( "Best", 12 ),
Formula( Sequence( 1, 5, 1, 1 ) )
),
New Column(
"Base Sales",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1 | :Store != Lag( :Store, 1 ),
Round( Random Uniform( 1000, 2000 ), 0 ),
Lag( :Base Sales, 1 )
)
)
),
New Column(
"Sales",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
Round(
:Base Sales + If( :Type == 1,
50 + 50 * :Time,
-50 * :Time
) + Random Normal( 0, 200 )
)
)
)
);
//Analysis
dt << Fit Model(
Y( :Sales ),
Effects( :Type, :Time, :Type * :Time ),
Random Effects( :Store[:Type] ),
NoBounds( 1 ),
Personality( "Standard Least Squares" ),
Method( "REML" ),
Emphasis( "Minimal Report" ),
Run(
:Sales << {Summary of Fit( 1 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
Plot Effect Leverage( 0 ), {:Type * :Time << {LSMeans Plot( 1 )}}}
)
);
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Hallo,
Vielen Dank! Ich entschuldige mich für die verspätete Antwort. Verloren im Abgrund der Lösung dieser Sache und kurz davor, die Hoffnung zu verlieren.
Das Modell und die Daten ähneln Dieses hier angeboten von JMP.Den Besonderheiten des Beispiels folgend umfassen meine Daten etwas mehr als 5400 Geschäfte mit jeweils 5 Beobachtungen (für die Zeit).
Wie im Beispiel sind meine Prädiktorvariable und der Zufallseffekt kategorisch (1, 2) und in einer anderen kategorialen Variablen für den Standort (1, 2) verschachtelt. Die Zeit ist in fünf Intervallen unterteilt (daher die fünf Beobachtungen pro Subjekt).
Ich habe die gleichen Schritte wie im JMP-Beispiel ausgeführt, erhalte jedoch immer die Fehlermeldung. Ich habe es sogar ohne die Verschachtelung versucht und der Fehler kommt erneut.
Danke noch einmal!
Betreff: Gemischtes REML-Modell: Fehlermeldung „Es konnte nicht genügend Speicher zugewiesen werden“.Können Sie mehr über das Modell sagen, das Sie anpassen? Haben Sie eine kategoriale Variable als Zufallseffekt? Wenn ja, wie viele Ebenen hat es?
Phil